# Card3D node¶

*This documentation is for version 1.0 of Card3D (net.sf.openfx.Card3D).*

## Description¶

Card3D.

This effect applies a transform that corresponds to projection the source image onto a 3D card in space. The 3D card is positioned with relative to the Axis position, and the Camera position may also be given. The Axis may be used to apply the same global motion to several cards.

This plugin concatenates transforms.

See also https://web.archive.org/web/20210727235824/opticalenquiry.com/nuke/index.php?title=Card3D

## Inputs¶

Input | Description | Optional |
---|---|---|

Source | No |

## Controls¶

Parameter / script name | Type | Default | Function |
---|---|---|---|

Import Format / `axisImportFormat` |
Choice | chan | The format of the file to import.
chan: Chan format, each line is FRAME TX TY TZ RX RY RZ VFOV. Can be created using Natron, Nuke, 3D-Equalizer, Maya and other 3D tracking software. Be careful that the rotation order must be exactly the same when exporting and importing the chan file.Boujou (boujou): Boujou text export. In Boujou, after finishing the track and solving, go to Export > Export Camera Solve (Or press F12) > choose where to save the data and give it a name, click he drop down Export Type and make sure it will save as a .txt, then click Save. Each camera line is R(0,0) R(0,1) R(0,2) R(1,0) R(1,1) R(1,2) R(2,0) R(2,1) R(2,2) Tx Ty Tz F(mm). |

Import / `axisImportFile` |
N/A | Import a chan file created using 3D tracking software, or a txt file created using Boujou. | |

Export / `axisExportChan` |
N/A | Export a .chan file which can be used in Natron, Nuke or 3D tracking software, such as 3D-Equalizer, Maya, or Boujou. Be careful that the rotation order must be exactly the same when exporting and importing the chan file. | |

Transform Order / `axisXformOrder` |
Choice | SRT | Order in which scale (S), rotation (R) and translation (T) are applied.
SRT (srt): Scale, Rotation, Translation.STR (str): Scale, Translation, Rotation.RST (rst): Rotation, Scale, Translation.RTS (rts): Rotation, Translation, Scale.TSR (tsr): Translation, Scale, Rotation.TRS (trs): Translation, Rotation, Scale. |

Rotation Order / `axisRotOrder` |
Choice | ZXY | Order in which Euler angles are applied in the rotation.
XYZ (xyz): Rotation over X axis, then Y and Z.XZY (xzy): Rotation over X axis, then Z and Y.YXZ (yxz): Rotation over Y axis, then X and Z.YZX (yzx): Rotation over Y axis, then Z and X.ZXY (zxy): Rotation over Z axis, then X and Y.ZYX (zyx): Rotation over Z axis, then Y and X. |

Translate / `axisTranslate` |
Double | x: 0 y: 0 z: 0 | Translation component. |

Rotate / `axisRotate` |
Double | x: 0 y: 0 z: 0 | Euler angles (in degrees). |

Scale / `axisScaling` |
Double | x: 1 y: 1 z: 1 | Scale factor over each axis. |

Uniform Scale / `axisUniformScale` |
Double | 1 | Scale factor over all axis. It is multiplied by the scale factor over each axis. |

Skew / `axisSkew` |
Double | x: 0 y: 0 z: 0 | Skew over each axis, in degrees. |

Pivot / `axisPivot` |
Double | x: 0 y: 0 z: 0 | The position of the origin for position, scaling, skewing, and rotation. |

Specify Matrix / `axisUseMatrix` |
Boolean | Off | Check to specify manually all the values for the position matrix. |

/ `axisMatrix11` |
Double | 1 | Matrix coefficient. |

/ `axisMatrix12` |
Double | 0 | Matrix coefficient. |

/ `axisMatrix13` |
Double | 0 | Matrix coefficient. |

/ `axisMatrix14` |
Double | 0 | Matrix coefficient. |

/ `axisMatrix21` |
Double | 0 | Matrix coefficient. |

/ `axisMatrix22` |
Double | 1 | Matrix coefficient. |

/ `axisMatrix23` |
Double | 0 | Matrix coefficient. |

/ `axisMatrix24` |
Double | 0 | Matrix coefficient. |

/ `axisMatrix31` |
Double | 0 | Matrix coefficient. |

/ `axisMatrix32` |
Double | 0 | Matrix coefficient. |

/ `axisMatrix33` |
Double | 1 | Matrix coefficient. |

/ `axisMatrix34` |
Double | -1 | Matrix coefficient. |

/ `axisMatrix41` |
Double | 0 | Matrix coefficient. |

/ `axisMatrix42` |
Double | 0 | Matrix coefficient. |

/ `axisMatrix43` |
Double | 0 | Matrix coefficient. |

/ `axisMatrix44` |
Double | 1 | Matrix coefficient. |

Enable Camera / `camEnable` |
Boolean | Off | Enable the camera projection parameters. |

Cam Import Format / `camImportFormat` |
Choice | chan | The format of the file to import.
chan: Chan format, each line is FRAME TX TY TZ RX RY RZ VFOV. Can be created using Natron, Nuke, 3D-Equalizer, Maya and other 3D tracking software. Be careful that the rotation order must be exactly the same when exporting and importing the chan file.Boujou (boujou): Boujou text export. In Boujou, after finishing the track and solving, go to Export > Export Camera Solve (Or press F12) > choose where to save the data and give it a name, click he drop down Export Type and make sure it will save as a .txt, then click Save. Each camera line is R(0,0) R(0,1) R(0,2) R(1,0) R(1,1) R(1,2) R(2,0) R(2,1) R(2,2) Tx Ty Tz F(mm). |

Cam Import / `camImportFile` |
N/A | Import a chan file created using 3D tracking software, or a txt file created using Boujou. | |

Cam Export / `camExportChan` |
N/A | Export a .chan file which can be used in Natron, Nuke or 3D tracking software, such as 3D-Equalizer, Maya, or Boujou. Be careful that the rotation order must be exactly the same when exporting and importing the chan file. | |

Cam Transform Order / `camXformOrder` |
Choice | SRT | Order in which scale (S), rotation (R) and translation (T) are applied.
SRT (srt): Scale, Rotation, Translation.STR (str): Scale, Translation, Rotation.RST (rst): Rotation, Scale, Translation.RTS (rts): Rotation, Translation, Scale.TSR (tsr): Translation, Scale, Rotation.TRS (trs): Translation, Rotation, Scale. |

Cam Rotation Order / `camRotOrder` |
Choice | ZXY | Order in which Euler angles are applied in the rotation.
XYZ (xyz): Rotation over X axis, then Y and Z.XZY (xzy): Rotation over X axis, then Z and Y.YXZ (yxz): Rotation over Y axis, then X and Z.YZX (yzx): Rotation over Y axis, then Z and X.ZXY (zxy): Rotation over Z axis, then X and Y.ZYX (zyx): Rotation over Z axis, then Y and X. |

Cam Translate / `camTranslate` |
Double | x: 0 y: 0 z: 0 | Translation component. |

Cam Rotate / `camRotate` |
Double | x: 0 y: 0 z: 0 | Euler angles (in degrees). |

Cam Scale / `camScaling` |
Double | x: 1 y: 1 z: 1 | Scale factor over each axis. |

Cam Uniform Scale / `camUniformScale` |
Double | 1 | Scale factor over all axis. It is multiplied by the scale factor over each axis. |

Cam Skew / `camSkew` |
Double | x: 0 y: 0 z: 0 | Skew over each axis, in degrees. |

Cam Pivot / `camPivot` |
Double | x: 0 y: 0 z: 0 | The position of the origin for position, scaling, skewing, and rotation. |

Cam Specify Matrix / `camUseMatrix` |
Boolean | Off | Check to specify manually all the values for the position matrix. |

Cam / `camMatrix11` |
Double | 1 | Matrix coefficient. |

Cam / `camMatrix12` |
Double | 0 | Matrix coefficient. |

Cam / `camMatrix13` |
Double | 0 | Matrix coefficient. |

Cam / `camMatrix14` |
Double | 0 | Matrix coefficient. |

Cam / `camMatrix21` |
Double | 0 | Matrix coefficient. |

Cam / `camMatrix22` |
Double | 1 | Matrix coefficient. |

Cam / `camMatrix23` |
Double | 0 | Matrix coefficient. |

Cam / `camMatrix24` |
Double | 0 | Matrix coefficient. |

Cam / `camMatrix31` |
Double | 0 | Matrix coefficient. |

Cam / `camMatrix32` |
Double | 0 | Matrix coefficient. |

Cam / `camMatrix33` |
Double | 1 | Matrix coefficient. |

Cam / `camMatrix34` |
Double | -1 | Matrix coefficient. |

Cam / `camMatrix41` |
Double | 0 | Matrix coefficient. |

Cam / `camMatrix42` |
Double | 0 | Matrix coefficient. |

Cam / `camMatrix43` |
Double | 0 | Matrix coefficient. |

Cam / `camMatrix44` |
Double | 1 | Matrix coefficient. |

Projection / `camprojection_mode` |
Choice | Perspective | Perspective (perspective): Perspective projection.Orthographic (orthographic): Orthographic projection |

Focal Length / `camfocal` |
Double | 50 | The camera focal length, in arbitrary units (usually either millimeters or 35 mm equivalent focal length). haperture and vaperture must be expressed in the same units. |

Horiz. Aperture / `camhaperture` |
Double | 24.576 | The camera horizontal aperture (or film back width), in the same units as the focal length. In the case of scanned film, this can be obtained as image_width * scanner_pitch. |

Vert. Aperture / `camvaperture` |
Double | 18.672 | The camera vertical aperture (or film back height), in the same units as the focal length. This does not affect the projection (which is computed from haperture and the image aspect ratio), but it is used to compute the focal length from vertical FOV when importing chan files, using the formula: focal = 0.5 * vaperture / tan(vfov/2). It is thus best set as: haperture = vaperture * image_width/image_height. In the case of scanned film, this can be obtained as image_height * scanner_pitch. |

Window Translate / `camwin_translate` |
Double | x: 0 y: 0 | The camera window (or film back) is translated by this fraction of the horizontal aperture, without changing the position of the camera center. This can be used to model tilt-shift or perspective-control lens. |

Window Scale / `camwin_scale` |
Double | x: 1 y: 1 | Scale the camera window (or film back). |

Window Roll / `camwinroll` |
Double | 0 | Rotation (in degrees) of the camera window (or film back) around the z axis. |

Import Format / `cardImportFormat` |
Choice | chan | The format of the file to import.
chan: Chan format, each line is FRAME TX TY TZ RX RY RZ VFOV. Can be created using Natron, Nuke, 3D-Equalizer, Maya and other 3D tracking software. Be careful that the rotation order must be exactly the same when exporting and importing the chan file.Boujou (boujou): Boujou text export. In Boujou, after finishing the track and solving, go to Export > Export Camera Solve (Or press F12) > choose where to save the data and give it a name, click he drop down Export Type and make sure it will save as a .txt, then click Save. Each camera line is R(0,0) R(0,1) R(0,2) R(1,0) R(1,1) R(1,2) R(2,0) R(2,1) R(2,2) Tx Ty Tz F(mm). |

Import / `cardImportFile` |
N/A | Import a chan file created using 3D tracking software, or a txt file created using Boujou. | |

Export / `cardExportChan` |
N/A | Export a .chan file which can be used in Natron, Nuke or 3D tracking software, such as 3D-Equalizer, Maya, or Boujou. Be careful that the rotation order must be exactly the same when exporting and importing the chan file. | |

Transform Order / `cardXformOrder` |
Choice | SRT | Order in which scale (S), rotation (R) and translation (T) are applied.
SRT (srt): Scale, Rotation, Translation.STR (str): Scale, Translation, Rotation.RST (rst): Rotation, Scale, Translation.RTS (rts): Rotation, Translation, Scale.TSR (tsr): Translation, Scale, Rotation.TRS (trs): Translation, Rotation, Scale. |

Rotation Order / `cardRotOrder` |
Choice | ZXY | Order in which Euler angles are applied in the rotation.
XYZ (xyz): Rotation over X axis, then Y and Z.XZY (xzy): Rotation over X axis, then Z and Y.YXZ (yxz): Rotation over Y axis, then X and Z.YZX (yzx): Rotation over Y axis, then Z and X.ZXY (zxy): Rotation over Z axis, then X and Y.ZYX (zyx): Rotation over Z axis, then Y and X. |

Translate / `cardTranslate` |
Double | x: 0 y: 0 z: -1 | Translation component. |

Rotate / `cardRotate` |
Double | x: 0 y: 0 z: 0 | Euler angles (in degrees). |

Scale / `cardScaling` |
Double | x: 1 y: 1 z: 1 | Scale factor over each axis. |

Uniform Scale / `cardUniformScale` |
Double | 1 | Scale factor over all axis. It is multiplied by the scale factor over each axis. |

Skew / `cardSkew` |
Double | x: 0 y: 0 z: 0 | Skew over each axis, in degrees. |

Pivot / `cardPivot` |
Double | x: 0 y: 0 z: 0 | The position of the origin for position, scaling, skewing, and rotation. |

Specify Matrix / `cardUseMatrix` |
Boolean | Off | Check to specify manually all the values for the position matrix. |

/ `cardMatrix11` |
Double | 1 | Matrix coefficient. |

/ `cardMatrix12` |
Double | 0 | Matrix coefficient. |

/ `cardMatrix13` |
Double | 0 | Matrix coefficient. |

/ `cardMatrix14` |
Double | 0 | Matrix coefficient. |

/ `cardMatrix21` |
Double | 0 | Matrix coefficient. |

/ `cardMatrix22` |
Double | 1 | Matrix coefficient. |

/ `cardMatrix23` |
Double | 0 | Matrix coefficient. |

/ `cardMatrix24` |
Double | 0 | Matrix coefficient. |

/ `cardMatrix31` |
Double | 0 | Matrix coefficient. |

/ `cardMatrix32` |
Double | 0 | Matrix coefficient. |

/ `cardMatrix33` |
Double | 1 | Matrix coefficient. |

/ `cardMatrix34` |
Double | -1 | Matrix coefficient. |

/ `cardMatrix41` |
Double | 0 | Matrix coefficient. |

/ `cardMatrix42` |
Double | 0 | Matrix coefficient. |

/ `cardMatrix43` |
Double | 0 | Matrix coefficient. |

/ `cardMatrix44` |
Double | 1 | Matrix coefficient. |

Lens-In Focal / `lensInFocal` |
Double | 1 | The focal length of the camera that took the picture on the card. The card is scaled so that at distance 1 (which is the default card Z) it occupies the field of view corresponding to lensInFocal and lensInHAperture. |

Lens-In H.Aperture / `lensInHAperture` |
Double | 1 | The horizontal aperture (or sensor/film back width) of the camera that took the picture on the card. The card is scaled so that at distance 1 (which is the default card Z) it occupies the field of view corresponding to lensInFocal and lensInHAperture. |

Output Format / `format` |
Choice | Project | Desired format for the output sequence.
Format (format): Use a pre-defined image format.Size (size): Use a specific extent (size and offset).Project (project): Use the project extent (size and offset). |

Center / `recenter` |
Button | Centers the region of definition to the input region of definition. If there is no input, then the region of definition is centered to the project window. | |

Format / `NatronParamFormatChoice` |
Choice | HD 1920x1080 | The output format
PC_Video 640x480 (PC_Video)NTSC 720x486 0.91 (NTSC)PAL 720x576 1.09 (PAL)NTSC_16:9 720x486 1.21 (NTSC_16:9)PAL_16:9 720x576 1.46 (PAL_16:9)HD_720 1280x720 (HD_720)HD 1920x1080 (HD)UHD_4K 3840x2160 (UHD_4K)1K_Super_35(full-ap) 1024x778 (1K_Super_35(full-ap))1K_Cinemascope 914x778 2.00 (1K_Cinemascope)2K_Super_35(full-ap) 2048x1556 (2K_Super_35(full-ap))2K_Cinemascope 1828x1556 2.00 (2K_Cinemascope)2K_DCP 2048x1080 (2K_DCP)4K_Super_35(full-ap) 4096x3112 (4K_Super_35(full-ap))4K_Cinemascope 3656x3112 2.00 (4K_Cinemascope)4K_DCP 4096x2160 (4K_DCP)square_256 256x256 (square_256)square_512 512x512 (square_512)square_1K 1024x1024 (square_1K)square_2K 2048x2048 (square_2K) |

Bottom Left / `bottomLeft` |
Double | x: 0 y: 0 | Coordinates of the bottom left corner of the size rectangle. |

Size / `size` |
Double | w: 1 h: 1 | Width and height of the size rectangle. |

Invert / `invert` |
Boolean | Off | Invert the transform. |

Filter / `filter` |
Choice | Cubic | Filtering algorithm - some filters may produce values outside of the initial range (*) or modify the values even if there is no movement (+).
Impulse (impulse): (nearest neighbor / box) Use original values.Box (box): Integrate the source image over the bounding box of the back-transformed pixel.Bilinear (bilinear): (tent / triangle) Bilinear interpolation between original values.Cubic (cubic): (cubic spline) Some smoothing.Keys (keys): (Catmull-Rom / Hermite spline) Some smoothing, plus minor sharpening (*).Simon (simon): Some smoothing, plus medium sharpening (*).Rifman (rifman): Some smoothing, plus significant sharpening (*).Mitchell (mitchell): Some smoothing, plus blurring to hide pixelation (*)(+).Parzen (parzen): (cubic B-spline) Greatest smoothing of all filters (+).Notch (notch): Flat smoothing (which tends to hide moire’ patterns) (+). |

Clamp / `clamp` |
Boolean | Off | Clamp filter output within the original range - useful to avoid negative values in mattes |

Black outside / `black_outside` |
Boolean | On | Fill the area outside the source image with black |

Motion Blur / `motionBlur` |
Double | 0 | Quality of motion blur rendering. 0 disables motion blur, 1 is a good value. Increasing this slows down rendering. |

Directional Blur Mode / `directionalBlur` |
Boolean | Off | Motion blur is computed from the original image to the transformed image, each parameter being interpolated linearly. The motionBlur parameter must be set to a nonzero value, and the blackOutside parameter may have an important effect on the result. |

Shutter / `shutter` |
Double | 0.5 | Controls how long (in frames) the shutter should remain open. |

Shutter Offset / `shutterOffset` |
Choice | Start | Controls when the shutter should be open/closed. Ignored if there is no motion blur (i.e. shutter=0 or motionBlur=0).
Centered (centered): Centers the shutter around the frame (from t-shutter/2 to t+shutter/2)Start (start): Open the shutter at the frame (from t to t+shutter)End (end): Close the shutter at the frame (from t-shutter to t)Custom (custom): Open the shutter at t+shuttercustomoffset (from t+shuttercustomoffset to t+shuttercustomoffset+shutter) |

Custom Offset / `shutterCustomOffset` |
Double | 0 | When custom is selected, the shutter is open at current time plus this offset (in frames). Ignored if there is no motion blur (i.e. shutter=0 or motionBlur=0). |

Interactive Update / `interactive` |
Boolean | Off | If checked, update the parameter values during interaction with the image viewer, else update the values when pen is released. |