HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
(st_warp: warp an image using per-pixel st coordinates)

Functions

ImageBuf OIIO_API ImageBufAlgo::st_warp (const ImageBuf &src, const ImageBuf &stbuf, string_view filtername=string_view(), float filterwidth=0.0f, int chan_s=0, int chan_t=1, bool flip_s=false, bool flip_t=false, ROI roi={}, int nthreads=0)
 
ImageBuf OIIO_API ImageBufAlgo::st_warp (const ImageBuf &src, const ImageBuf &stbuf, const Filter2D *filter, int chan_s=0, int chan_t=1, bool flip_s=false, bool flip_t=false, ROI roi={}, int nthreads=0)
 
bool OIIO_API ImageBufAlgo::st_warp (ImageBuf &dst, const ImageBuf &src, const ImageBuf &stbuf, string_view filtername=string_view(), float filterwidth=0.0f, int chan_s=0, int chan_t=1, bool flip_s=false, bool flip_t=false, ROI roi={}, int nthreads=0)
 
bool OIIO_API ImageBufAlgo::st_warp (ImageBuf &dst, const ImageBuf &src, const ImageBuf &stbuf, const Filter2D *filter, int chan_s=0, int chan_t=1, bool flip_s=false, bool flip_t=false, ROI roi={}, int nthreads=0)
 

Detailed Description

Warp the src image using "st" coordinates from a secondary stbuf image.

Each pixel in the stbuf image is used as a normalized image-space coordinate in the src image, which is then sampled at that position using the given reconstruction filter to produce an output pixel.

The transform is only defined over the area of the stbuf image, and thus the given roi argument will be intersected with its geometry.

NOTE: The current behavior of this transform is modeled to match Nuke's STMap node.

Parameters
dstThe output ImageBuf. If an initialized buffer is provided, its full-size dimensions must match those of stbuf.
srcThe source ImageBuf to warp.
stbufThe ImageBuf holding the st coordinates. This must be holding a floating-point pixel data type.
chan_sThe index of the "s" channel in the stbuf image. This defaults to its first channel.
chan_tThe index of the "t" channel in the stbuf image. This defaults to its second channel.
flip_sWhether to mirror the "s" coordinate along the horizontal axis when computing source pixel positions. This is useful if the coordinates are defined in terms of a different image origin than OpenImageIO's.
flip_tWhether to mirror the "t" coordinate along the vertical axis when computing source pixel positions. This is useful if the coordinates are defined in terms of a different image origin than OpenImageIO's.

Function Documentation

ImageBuf OIIO_API ImageBufAlgo::st_warp ( const ImageBuf src,
const ImageBuf stbuf,
string_view  filtername = string_view(),
float  filterwidth = 0.0f,
int  chan_s = 0,
int  chan_t = 1,
bool  flip_s = false,
bool  flip_t = false,
ROI  roi = {},
int  nthreads = 0 
)
ImageBuf OIIO_API ImageBufAlgo::st_warp ( const ImageBuf src,
const ImageBuf stbuf,
const Filter2D filter,
int  chan_s = 0,
int  chan_t = 1,
bool  flip_s = false,
bool  flip_t = false,
ROI  roi = {},
int  nthreads = 0 
)
bool OIIO_API ImageBufAlgo::st_warp ( ImageBuf dst,
const ImageBuf src,
const ImageBuf stbuf,
string_view  filtername = string_view(),
float  filterwidth = 0.0f,
int  chan_s = 0,
int  chan_t = 1,
bool  flip_s = false,
bool  flip_t = false,
ROI  roi = {},
int  nthreads = 0 
)
bool OIIO_API ImageBufAlgo::st_warp ( ImageBuf dst,
const ImageBuf src,
const ImageBuf stbuf,
const Filter2D filter,
int  chan_s = 0,
int  chan_t = 1,
bool  flip_s = false,
bool  flip_t = false,
ROI  roi = {},
int  nthreads = 0 
)