How to use LeiaPix Features

Share this tutorial:

Overview

LeiaPix empowers you to effortlessly infuse life into your 3D photos through animation effects.  It's as easy as dragging and dropping a photo onto the LeiaPix web site and immediately seeing the result. In many cases that is all you will need to do. Default settings have been tuned to allow many use cases to work just out of the box.  Nevertheless, we encourage you to use the more advanced features of the app to get the most out of your animations.

Beyond Animations, LeiaPix enables versatile utilization of the 3D data that it generates for other purposes. it's not just about the animations - you can take the 3D information generated by LeiaPix and uses it in 3rd party applications. This tutorial will focus on the app itself and dive into some of the advanced features of the animation produced by it. However, be aware that we also cover the use of LeiaPix exported data for other purposes in additional tutorials listed here for your convenience:

Getting Started

It all starts with an import of an image into LeiaPix.

LeiaPix Web Application

Follow these simple steps:

1. Log in on LeiaPix

Leia Inc.
LeiaPix | Depth Animations

2. Upload an image from your device either by drag & drop or by pressing the upload button
3. Wait for image processing. Once complete a 3D animation will appear

This also opens up a menu as follows that we will now cover in more detail in the sections to follow:

Menu LeiaPix
LeiaPix Menu

Animation Settings

There are a number of settings you can use to control the animation of your image from the main menu. These are explained in more detail in the table below.

Feature
Description
Anmation Style
This allows you to set the path that your animation takes. The 3D visual effect results from objects moving different amounts depending on the distance they are away from you, This is called parallax. The brain picks up on this queue and allows you to perceive depth more realistically. Since we move around in 3D space all the time, we are used to this. So with this we simulate 6 different head movement styles that produce such a 3D sensation.

Several fundamental paths are available for your benefit. As you traverse more axes, a greater amount of parallax data is conveyed, enhancing the perception of depth. Therefore, in the sequence of heightened depth perception, the settings are outlined as follows:
  1. Single-axis movement: Horizontal, Vertical, Zoom, Dolly (x, y or z direction only)
  2. Dual-axis movement: Circle (both x and y directions)
  3. Triple-axis movement: Perspective, Zoom left, Zoom in, Zoom right. This involves traversing a path that uses all axis (x, y, and z directions).
Note: These styles are only presets. You can customize the path further using the Advanced Editor described later in this document.
You also have control over two more aspects of your animation:
Loop: when this switch is set the animation loops to avoid jumps
Reverse: this switch reverses the animation so that it plays backwards
Mannual Settings
Note that the Animation Styles above are only presets. Inside the Animation Styles pane, you will also find a Manual Settings pane. You can expand this to reveal extra settings allowing you to customize the path further.
For more detail on Manual Settings refer to the Manual Settings section in this document.
Amount of Motion
This adjusts the Amplitude of motion in the animation.
Animation Length
Animation Length allows you to specify how long one cycle of the animation is and ranges from 1 to 10 seconds.
Focus Point
This adjusts the pivot point of the motion around which motion takes place.
  • Far: the background remains fixed whilst the foreground moves.
  • Between Far and Close: Foreground and Background move in opposite directions. The amount of motion in each depends on slider position.
  • Close: the foreground remains fixed whilst the background moves.
You can also set the focus point by selecting + Set Focus Point and then clicking anywhere on the image. The focus will be automatically adjusted to match the depth at that point in the image.
Edge Dilation
This has the effect of widening objects to avoid stretching artifacts. If there is no dilation then colors from the foreground may bleed along the edge towards the background and vice versa. To have a cleaner edge we can include some of the background color in the foreground object by widening the object. This operation is performed on the depth map before rendering the output but is not saved to the depth map.

Animation Styles

There are a number of different animation styles available to you. Note that style suitability is quite image dependent and not all styles are necessarily suitable in all cases. To guide you in determining the right style for your specific use case and achieving the best possible effect for your image, we will delve into each style in greater detail in this section.

Style
Description
The camera moves in a vertical up/down direction only.
  • If reverse switch is off then if moves down only
  • If reverse switch is on then it moves up only
  • If loop switch is on then it moves up and down
Example:
This style uses the Linear manual settings. If you want to tweak this effect further refer to the Linear Manual Settings section below.
The camera moves in a vertical up/down direction only.
  • If reverse switch is off then it moves right only
  • If reverse switch is on then it moves left only
  • If loop switch is on then it moves left and right
Example:
The camera moves in a circular direction on the x and y plane (in vertical and horizontal plane). It does not move in the depth direction. In other words it does not move into or out of the screen.
  • the Loop switch is permanently on since circular motion loops naturally.
  • If reverse switch is off then it moves counter-clockwise
  • If reverse switch is on then it moves clockwise
Example:
The camera moves in a circular direction on the x and z plane with a slight tilt upwards when z is at its highest. In other words the camera would move in a circular motion if viewed from the top down. The rotation also has a slight tilt so that camera is a touch higher when in the far side position for added effect.
  • the Loop switch is permanently on since circular motion loops naturally.
  • If reverse switch is off then it moves counter-clockwise (as viewed from top)
  • If reverse switch is on then it moves clockwise (as viewed from top)
Example:
The camera moves in a far/close direction into and out of the screen only.
  • If reverse switch is off then it moves forwards into the screen (zoom in)
  • If reverse switch is on then it moves back out of the screen (zoom out)
  • If loop switch is on then it moves back and forwards.
In addition to this, the Focus Point is set such that the zoom is performed on all objects behind the screen. This gives a normal zoom effect.
Example:
Similar to the Zoom Animation style the camera moves in a far/close direction into and out of the screen only.
  • If reverse switch is off then it moves forwards into the screen (zoom in)
  • If reverse switch is on then it moves back out of the screen (zoom out)
  • If loop switch is on then it moves back and forwards.
The difference between Standard Zoom and Dolly Zoom here lies in the positioning of the Focus Point. The focus point is set to the center of the scene, that way the subject (assumed to be at the center) will not be zoomed, but instead the background zooms in and out (the reverse happens to the foreground if present).
Dolly Zoom: This setting provides a special cinematic effect akin to the dolly zoom where a camera moves and zoom is adjusted to keep the subject fixed despite the camera movement.

This type of zoom was popularized by director Alfred Hitchcock in the 1958 film "Vertigo." and results in a deliberate visually unsettling effect.
Example:
This zoom follows a path from right to left whilst zooming in. The camera also moves up then down during this zoom for added effect.
Example:
The zoom follows a path of slight upward motion followed by a slight downward motion whilst zooming in without veering to the right or left.
Example:
This zoom follows a path from left to right whilst zooming in. The camera also moves up then down during this zoom for added effect.
Example:
Whilst the pre-set configuration described above allow for a range of styles, you can customize these further, or even come up with completely new animation effects by configuring settings manually yourself.

To do this, press one of the pre-configured styles first to obtain default settings for that style and then select the Custom style. Then open up Manual Settings to access controls that allow you to further refine and customize away from these defaults. A shortcut to this is to simply dive into the Manual Settings even when you still have a pre-configured style set. The Custom style will automatically select itself once you start editing.

Furthermore, you don’t have to select a pre-configured style first. If you don’t want to base your customization on any particular pre-configures style you can go ahead and dive straight into the Custom style and charge ahead making changes to create your own effect.

Please be aware that in Manual Settings we permit a broad spectrum of values to be configured intentionally. This flexibility is provided to facilitate the creation of special effects without imposing excessive constraints on you. However, it's important to note that while extreme values may enhance the visual appeal of certain images, they might not be suitable for many others. We have established reasonable default values, but feel free to explore and go beyond these defaults by entering Manual Settings yourself if desired.

More detail on Manual settings can be found in the Manual Settings section of this document.

Example:

Manual Settings

Manual settings allows you to have more control of the animation motion path beyond the pre-set options provided with Animation Style settings alone. Observe that as you change the Animation Style the settings in the Manual settings change automatically, so you can directly see what these presets are in terms of Manual settings. So from a workflow perspective, you can:

Mode
Description
Circular
The animations are generated utilizing 3 harmonic oscillators. These oscillators tug the viewer back and forwards to varying degrees in each of the 3 orthogonal directions (x, y and z).
Linear
The animation in this mode is generated simply by taking the viewer from point A to B. The starting point and ending points can be precisely set using cartesian coordinates.
Arc
The animation in this mode is generated by taking the viewer from point A to B via a third middle point thereby forming an arc. The starting point, middle point and ending points can be precisely set using cartesian coordinates.

Manual Settings - Circular Mode

To understand what is happening in this mode, we need to understand some basics first. The animations are generated by oscillating the observer point of view along a path. This path is a 3 dimensional path as it takes place in 3 dimensional space and hence uses 3 oscillators to control the motion. Think of these oscillators as tugging the viewer into a particular direction in a wave type back and forwards motion. Each oscillator is responsible for one axis of motion as follows:

  • x-axis: this is for motion in left/right direction
  • y-axis: this is for motion in up/down direction
  • z-axis: this is for motion in depth direction (into and out of image)

These 3 oscillators can be applied individually or in combination to work together to produce the animation. The amount each is applied is controlled by the Amplitude X, Amplitude Y and Amplitude Z sliders respectively. For example, to just cause left/right motion, you would set Amplitude X to some value and set Amplitude Y and Amplitude Z to zero effectively turning oscillators for y-axis and z-axis off altogether. However you can have all 3 of them working at the same time in which case you would have non-zero values for each to varying degrees.

Using One Axis

By only setting one of the Amplitudes to a value and leaving the others at zero, the viewer will only be tugged back and forwards in that direction. Phase is irrelevant for one axis, so this can be set to any value and for simplicity we set it to zero here. We will explain phase in the next section where it becomes relevant. This produces a linear straight line motion as follows:

Feature
Description
X-Axis Motion
Amplitude X > 0 (other values all set to zero). Graphing the path for this:
Example:
Y-Axis Motion
Amplitude Y > 0 (other values all set to zero). Graphing the path for this:
Example:
Z-Axis Motion
Amplitude Z > 0 (other values all set to zero). Graphing the path for this:
Example:

Using Two Axis

Using one axis we have seen how each of the oscillators can operate independently. For purposes of this discussion let me represent one of the oscillators for the single axis scenario like this:

Here the oscillator is cycling in the x-axis direction and causes the viewer to be tugged in a left right direction. In the y-axis direction we have the oscillator turned off (Amplitude Y = 0).

Now let’s combine the oscillators together and mix them to do some clever things to enhance the experience. For this an explanation of phases is required. The phase is basically the starting point of the oscillation. The oscillator can be started during these phases in it’s cycle:

Phase
Start Oscillator at
O
At Beginning of cycle
1/4
One quarter cycle behind
1/2
Half cycle behind
3/4
Three quarters cycle behind

Each of these points is a quarter of a cycle behind from the previous. What is important here is that it doesn’t really matter when the cycle is started, what matters more is how the start of a cycle of one axis relates to the start of a cycle of the other axis. If they are the same then they are in synch and produce a diagonal oscillation as shown in the following illustration:

Note that the two oscillators follow each others motion. When oscillator for x-axis is at it’s peak, so is the oscillator for the y-axis. Similarly for when they are at their minimum or values in between. The two match their values perfectly and thereby trace out a diagonal line.

If however they are out of sync then they produce a loop in the form of a circle (or an ellipse if amplitudes differ) as shown in the following illustration:

Note here that the two oscillators follow each others motion as well, but the oscillator for the x-axis is started by 1/4 of a cycle behind that of the y-axis oscillator. In other words the x-axis oscillator is “phase shifted” by one quarter of a cycle. This produces circular motion.

We covered the case here for no phase shift and 1/4 of a phase shift but you can also produce 1/2 and 3/4 phase shifts. These produce similar results:

  • 1/2 phase shift produces diagonal oscillation similar to no phase shift, but moves from top left to bottom right.
  • 3/4 phase shift produces circular motion, but in anti-clockwise direction.
Feature
Description
X and Y Axis Motion
X and Y Axis Motion
1/4 Phase shift applied
Example:

Using Three Axis

The concepts from the 1 and 2 axis scenarios can be extended to the 3 axis case. We can mix all 3 oscillators to produce linear or looped motion. With this, in addition to the flat loops, a circle loop can be stretched into the third dimension. One such scenario is illustrated below:

Feature
Description
X, Y and Z Axis Motion
X and Y Axis Motion
All full Amplitude
x-axis 1/4 phase shift
y-axis 1/2 phase shift
z-axis 0 phase shift
Apply Amplitude and phase shifts on all axis, A path is traced where the planes of all 3 oscillators intercept:
Example:

Manual Settings - Linear Mode

In this mode you specify two points and the viewer will be taken from the first to the second with a straight line motion. These are set using 3 sliders (one for each axis) for each of the 2 points.

A simple scenario is illustrated below:

Feature
Description
Point to Point motion
Point to Point motion
Example:
This animation moves between these points (x, y, z):
  • From: (-0.4, 0.4, -1)
  • To: (0.4, -0.4, 1)

Manual Settings - Arc Mode

In this mode you specify three points and the viewer will be taken through all three points in a sweeping arc motion. These are set using 3 sliders (one for each axis) for each of the 3 points.

A simple scenario is illustrated below:

Feature
Description
Arc motion
Arc motion
Example:
This animation moves through these points (x, y, z):
  • From: (-1, -1, -1)
  • Then To: (0 ,0 ,1)
  • Finishing On: (1, -1, -1)

Depth Map Editing

The crucial piece of information derived from converting a 2D image to 3D within LeiaPix is the depth map. It contains information about the depth of every object in your image. It is a grayscale image that ranges from completely black to completely white. White represents objects that are close to the camera and generally comprise mostly of the foreground whilst black represents objects that are far away and generally comprise mostly of the background. Any gray shades in between represent objects that are between these two extremes and are positioned according to their grayscale value.

Whilst we are getting better and better at generating these depth maps, and we pride ourselves on the accuracy of the depth maps we produce, they are not perfect. They are generated from information that is not present and has not been measured. It is a best guess at the depth generated using AI techniques. As such there may be areas in the image where you know better from the context of the image or from actual more accurate knowledge of the scene. For this reason we provide the ability for you to make corrections to the depth map so that the resulting animation plays out more accurately.

Example Depth Map Edit. Corrections to horns on goat

In the example above, note how the horns of the goat are set too far back. to correct this, you can paint the depth of the head onto the horns and that then makes the horns move along with the head in the animation. To implement open the Depth Map Brush settings by selecting Depth Map from the menu:

Depth Map Brush Settings
Depth Map Brush Settings

Then follow these steps to implement:
1. Identify objects that are incorrectly positioned with respect to depth
2. Set the paint brush to the depth that you want the object to be at. This can be achieved by either:
  a. manually setting a depth using the Depth Slider
  b. using the Eyedropper Tool to sample the depth at one location to then use it at another location
  c. select the Clone Tool to simply extend the depth of an existing object.
3. Set the paint brush Size, Hardness and Opacity to get the right blending of brush with existing image on canvas
4. Paint the object with the Brush adjusting the paint brush settings along the way as needed to fill the entire object with required depth level.
5. Toggle the Overlay to blend in the image as needed. This can be used as a guide to help identify boundaries of the object you want to paint in. You can edit with overlay on or off.
6. Press Preview to see what your edits looks like along the way.

Hint: Pressing Save will take you out of the Depth Map editing environment. If you do not want to exit and just want to see how your edits affect the animation, use Preview instead. If you exit the Depth Map editing environment all brush settings and edit undo history will be reset.

7. When all done, press Save and your new depth map is now in effect for the animation.

In the table below each of the features in the Depth Map edit environment is explained in more detail:

Feature
Description
Depth Slider
The slider allows you to manually select the depth you want. The associated grayscale value is displayed in the Square Swatch. This will range from Less (close/white) to More (far/black).
Eyedropper Tool
The Eyedropper tool enables you to instantly adjust the Depth Slider to match any specific point on the canvas by clicking on the depth map image. When enabled the mouse pointer changes from acting as a brush to acting as a eyedropper tool.
Clone Tool
The Clone tool gives the brush the special property of instantly sampling and taking on the depth from the starting point of a brush stroke. This facilitates rapid extension of depth around an object..

Example: If you have an apple and the apple stem is not at correct depth, you could start stroke on edge of apple itself where depth is correct and simply continue stroke onto the stem to make it same and part of the apple.
Size Slider
This adjusts the size of the brush:
Hardness Slider
This adjusts the consistency of coverage across the brush surface.
  • More: If set to More then the brush acts strongly across entire brush circle.
  • Less: As you move slider to the Less side, the edges of the brush circle start to act weaker. In other words, brush strokes on the edge of the brush take on more of the surrounding depth rather than the depth the brush is set to, whilst the center of the brush still acts strongly.
When a softer brush is applied, it doesn't create distinct, sharp boundaries or lines like a hard brush. Instead, it produces a smoother, more blended effect. Think of this as creating slopes rather then hard cliff edges in depth terms. This kind of brush tends to seamlessly merge with the existing elements on the canvas, creating a more organic and subtle appearance. It helps in creating a more natural depth profile.
Opacity Slider
This adjusts the opacity or conversely the transparency property of the brush.
  • More: If set to More, the brush will act strongly across entire brush circle.
  • Less: As you move slider to the Less side, then the brush will take on some transparency across the entire brush circle. This leaves depth profiles partially in place underneath the stroke to the extent allowed by opacity slider. In other words the entire brush will not act as strongly on the underlying image leaving some depth profile in place.
This allows relative changes to be made rather than absolute changes to the depth map.
Example: you want to bring a face of a person forward, but want to retain the facial features. you can use a white brush to bring object forward, but set opacity low to retain facial features.
Replace Depth Map
If you already have a depth map from elsewhere then you can also import this into LeiaPix for creating your animation. Use cases for this include:
  • LiDaR device - using a scanner or some recent mobile phones including the iPhone that have these onboard.
  • Z-buffer of a game - There are methods of obtaining the depth map such as using Reshade with plugins such as Depth3D to extract depth information.
  • 3D Modeling application: Using a 3D model application such as Blender and rendering Depth rather than Image.
Restore to Default
This restores the depth map to the original 2D to 3D conversion performed by LeiaPix when you first uploaded the image.
Note: Your editing session will continue and the restore is treated as if it was an edit in your session. In other words you will still need to save or discard it along with any other edits.
Discard/Save
There are two ways to exit the Depth Map editing environment:
  • Discard: this discards all of the edits performed in this editing session. Note that if you have previously saved edits, it will revert to these.
  • Save: this will save the edits performed in this editing session.
Undo/Redo
A edit history is kept whilst you are in the Depth Map editing session until you either press Discard or Save. You can use it to undo and redo changes using the Undo and Redo buttons.
Full Screen
This allows you to view the canvas in full screen.
Note: this is intended to allow a closer look at the edits, but currently does not allow editing whilst in full screen mode.
Hint: Full screen can be used not just with Depth Map but also when using Overlay or Preview.
Overlay
This blends in the original image along with the depth map
Preview
This allows you to preview your changes without needing to exit (save) your edits.
Share this tutorial: