Inherited by DD::Image::DeepOutputPixel.
Public Types | |
enum | Ordering { eUnordered, eZAscending, eZDescending } |
Public Member Functions | |
DeepPixel (const DD::Image::ChannelMap &channels, const float *pixels, size_t dataCount, Ordering ordering) | |
const ChannelMap & | channels () const |
size_t | getSampleCount () const |
const float * | data () const |
size_t | getDataCount () const |
const float * | getUnorderedSample (size_t sampNo) const |
const float & | getUnorderedSample (size_t sampNo, DD::Image::Channel channel) const |
const float & | getOrderedSample (size_t depthIdx, DD::Image::Channel channel) const |
Static Public Member Functions | |
static Ordering | SwapOrdering (Ordering ordering) |
Protected Member Functions | |
void | makeSampleOrder () const |
Protected Attributes | |
const DD::Image::ChannelMap & | _channels |
const float * | _data |
size_t | _dataCount |
size_t | _chanCount |
size_t | _sampleCount |
Ordering | _ordering |
std::vector< size_t > | _sampleOrder |
bool | _doneSampleOrder |
Friends | |
class | DeepPlane |
DeepPixel is a helper class for accessing DeepPlanes. It represents all the data at a particular x/y position in a DeepPlane. It does not contain its own copy of the data, and remains valid for only as long as the DeepPlane it is associated with exists.
DD::Image::DeepPixel::DeepPixel | ( | const DD::Image::ChannelMap & | channels, |
const float * | pixels, | ||
size_t | dataCount, | ||
Ordering | ordering | ||
) | [inline] |
Constructor. Usually not accessed directly, invoked by DeepPlane::getPixel
Swap the pixel ordering to the other way around. Unordered remains unordered, but Z-ascending and Z-descending swap.
void DD::Image::DeepPixel::makeSampleOrder | ( | ) | const [protected] |
Build up the sample order index
References _doneSampleOrder, _sampleOrder, getSampleCount(), and getUnorderedSample().
const ChannelMap& DD::Image::DeepPixel::channels | ( | ) | const [inline] |
Get the channels that this DeepPixel contains
Referenced by DD::Image::DeepOutputPlane::addPixel(), and DD::Image::DeepSample::DeepSample().
size_t DD::Image::DeepPixel::getSampleCount | ( | ) | const [inline] |
Get the number of samples
Referenced by makeSampleOrder().
const float* DD::Image::DeepPixel::data | ( | ) | const [inline] |
Get the pointer to the data
Referenced by DD::Image::DeepOutputPlane::addPixel().
size_t DD::Image::DeepPixel::getDataCount | ( | ) | const [inline] |
Get the total number of data elements
Referenced by DD::Image::DeepOutputPlane::addPixel().
const float* DD::Image::DeepPixel::getUnorderedSample | ( | size_t | sampNo | ) | const [inline] |
Get a pointer to the pixel data for a particular sample number. Data will be the channels present in channels(), ordered by numeric channel id. Samples are in whatever order they happen to be in the pixel.
Referenced by DD::Image::DeepSample::DeepSample(), and makeSampleOrder().
const float& DD::Image::DeepPixel::getUnorderedSample | ( | size_t | sampNo, |
DD::Image::Channel | channel | ||
) | const [inline] |
Get a particular sample and channel. Samples are in whatever order they happen to be in the pixel.
const float & DD::Image::DeepPixel::getOrderedSample | ( | size_t | depthIdx, |
DD::Image::Channel | channel | ||
) | const |
Get a particle sample (by depth) and channel. Samples will be ordered so that if depthIdx == 0, it will fetch the sample with the lowest Z.
Referenced by DD::Image::DeepSample::DeepSample(), and DD::Image::DeepOutputPixel::getWritableOrderedSample().
const DD::Image::ChannelMap& DD::Image::DeepPixel::_channels [protected] |
The channels that this DeepPixel is for.
const float* DD::Image::DeepPixel::_data [protected] |
The raw data for the DeepPixel
size_t DD::Image::DeepPixel::_dataCount [protected] |
the amount of floats pointed to by _data for this pixel
size_t DD::Image::DeepPixel::_chanCount [protected] |
the number of channels present in _channels.
size_t DD::Image::DeepPixel::_sampleCount [protected] |
The number of samples (equivalent to _dataCount / _chanCount)
Ordering DD::Image::DeepPixel::_ordering [protected] |
The order in which the samples are stored (unordered, z-ascending, z-descending)
std::vector<size_t> DD::Image::DeepPixel::_sampleOrder [mutable, protected] |
An index for accessing the samples in z-order
Referenced by makeSampleOrder().
bool DD::Image::DeepPixel::_doneSampleOrder [mutable, protected] |
Whether or not the _sampleOrder index has been built
Referenced by makeSampleOrder().