#include <GeneralTile.h>
Public Member Functions | |
int | x () const |
int | y () const |
int | r () const |
int | t () const |
int | w () const |
int | h () const |
int | clampy (int y) const |
int | clampx (int x) const |
operator const Box & () const | |
const DD::Image::Box & | box () const |
const ChannelSet & | channels () const |
bool | is_zero (Channel z, int y) const |
bool | valid () const |
GeneralTile (Iop &input, const Box &box, const ChannelSet &chans, bool forceUnpacked=false, bool mt=false, InterestRatchet *ir=nullptr) | |
~GeneralTile () | |
float | at (int x, int y, Channel z) |
bool | aborted () const |
void | load_range (int y, int t) |
Protected Member Functions | |
GeneralTile (bool loadOnDemand, Iop &input, const Box &box, const ChannelSet &chans, bool forceUnpacked=false, bool mt=false, InterestRatchet *ir=nullptr) | |
Static Protected Member Functions | |
static Box | getRequestBox (Iop &input) |
Protected Attributes | |
Iop & | _input |
PlanarI * | _planarI |
LocalPlaneCache * | _ipc |
ChannelSet | _channels |
Box | _box |
RowCacheTile * | _rowCacheTile |
bool | _ipcIsShared |
bool | _valid |
bool | _wantPacked |
std::set< ChannelSet > | _allPlanes |
GeneralTile is a Tile-like API for access to image data, that can use both the traditional row-based Tile API and can access ImagePlane data
Unlike Interest/Tile this isn't a Box. Some Box methods are provided for source-compatibility, but it's probably best to use getBox() to get the box instead.
DD::Image::GeneralTile::GeneralTile | ( | Iop & | input, |
const Box & | box, | ||
const ChannelSet & | chans, | ||
bool | forceUnpacked = false , |
||
bool | mt = false , |
||
InterestRatchet * | ir = nullptr |
||
) |
Constructor. All image data will be available after this call, unless the calculation has been aborted due to user action or an error. Please check the aborted() state after construction and do not use the pixel data if this is set.
References channels().
DD::Image::GeneralTile::~GeneralTile | ( | ) |
destructor
|
protected |
Constructor. This version expects an additional loadOnDemand argument. If set to True, the tile properties will be initialised but image data will not be available immediately after this call. It will instead be provided on demand as pixels are read from the tile. This can be useful for cases such as sampling where the tile defines a possible area that may be read from but the exact pixels which are needed are not known when the tile is constructed.
References channels().
|
inline |
accessor for the box's x value (provided for compatibility with DD::Image::RowCacheTile)
Referenced by at(), and DD::Image::Transform::sample().
|
inline |
accessor for the box's y value (provided for compatibility with DD::Image::RowCacheTile)
Referenced by at(), is_zero(), load_range(), and DD::Image::Transform::sample().
|
inline |
accessor for the box's r value (provided for compatibility with DD::Image::RowCacheTile)
Referenced by DD::Image::Transform::sample().
|
inline |
accessor for the box's t value (provided for compatibility with DD::Image::RowCacheTile)
Referenced by load_range(), and DD::Image::Transform::sample().
|
inline |
accessor for the box's width (provided for compatibility with DD::Image::RowCacheTile)
|
inline |
accessor for the box's height (provided for compatibility with DD::Image::RowCacheTile)
|
inline |
clamp a y value to within the box (provided for compatibility with DD::Image::RowCacheTile)
Referenced by DD::Image::Transform::sample().
|
inline |
clamp a x value to within the box (provided for compatibility with DD::Image::RowCacheTile)
Referenced by DD::Image::Transform::sample().
|
inline |
cast operator for the box (provided for compatibility with DD::Image::RowCacheTile)
|
inline |
return the box for the tile
|
inline |
get the channels for the tile
Referenced by GeneralTile(), and DD::Image::Transform::sample().
bool DD::Image::GeneralTile::is_zero | ( | Channel | z, |
int | y | ||
) | const |
is this channel/row pair 'zero' (ie is it mapped to no data, rather than checking explicitly whether it is full of zeroes
References DD::Image::Interest::is_zero(), and y().
bool DD::Image::GeneralTile::valid | ( | ) | const |
whether the GeneralTile is accessible, or had it aborted during construction.
References DD::Image::Interest::valid().
Referenced by DD::Image::Transform::sample().
float DD::Image::GeneralTile::at | ( | int | x, |
int | y, | ||
Channel | z | ||
) |
get the data at a particular pixel. with clipping
References DD::Image::RowCacheTile::at(), DD::Image::ImagePlane::at(), DD::Image::ImagePlane::chanNo(), DD::Image::Box::clampx(), DD::Image::Box::clampy(), DD::Image::PlanarI::rowToStripeIndex(), x(), and y().
bool DD::Image::GeneralTile::aborted | ( | ) | const |
whether this Tile was aborted during construction.
References DD::Image::Op::aborted().
Referenced by load_range().
void DD::Image::GeneralTile::load_range | ( | int | y, |
int | t | ||
) |
Loads the image data from the specified range. The range should be within bounds passed to the tile at construction time.
References aborted(), DD::Image::Iop::fetchPlane(), DD::Image::PlanarI::getStripeBox(), DD::Image::Box::intersect(), DD::Image::Interest::load_range(), DD::Image::ImagePlane::readable(), DD::Image::Iop::requestedBox(), DD::Image::PlanarI::rowToStripeIndex(), DD::Image::ChannelSet::size(), DD::Image::Box::t(), t(), DD::Image::Interest::valid(), DD::Image::Box::y(), and y().
helper function: get the requested box on an input, bypassing Iops that contribute nothing towards the image
References DD::Image::Interest::inputIop(), and DD::Image::Iop::requestedBox().
©2024 The Foundry Visionmongers, Ltd. All Rights Reserved. |