ome-files 0.2.2

Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Attributes | List of all members
ome::files::PixelBufferBase Class Reference

Base class for all PixelBuffer types. More...

`#include <ome/files/PixelBuffer.h>`

Inheritance diagram for ome::files::PixelBufferBase:
[legend]
Collaboration diagram for ome::files::PixelBufferBase:
[legend]

## Public Types
typedef boost::multi_array_types::size_type | size_type
| Size type.
typedef boost::multi_array_types::index | index
| Index type.
typedef ome::compat::array< boost::multi_array_types::index, PixelBufferBase::dimensions > | indices_type
| Type used to index all dimensions in public interfaces.
typedef boost::general_storage_order< dimensions > | storage_order_type
| Storage ordering type for controlling pixel memory layout.
typedef boost::detail::multi_array::extent_gen< dimensions > | range_type
| Extent range type.

## Public Member Functions
virtual | ~PixelBufferBase ()
| Destructor.
::ome::xml::model::enums::PixelType | pixelType () const
| Get the pixel type in use. More...
EndianType | endianType () const
| Get the endian type in use. More...

## Static Public Member Functions
static storage_order_type | make_storage_order (ome::xml::model::enums::DimensionOrder order, bool interleaved)
| Generate storage ordering for a given dimension order. More...
static storage_order_type | default_storage_order ()
| Generate default storage ordering. More...

## Static Public Attributes
static const uint16_t | dimensions = 9
| Total number of supported dimensions.

## Protected Member Functions
| PixelBufferBase (::ome::xml::model::enums::PixelType pixeltype, EndianType endiantype)
| Constructor. More...

## Private Attributes
const ::ome::xml::model::enums::PixelType | pixeltype
| Pixel type stored in this buffer.
const EndianType | endiantype
| Endian type stored in this buffer.

## Detailed Description

Base class for all PixelBuffer types.

Individual pixel buffer types are created from the PixelType and EndianType enumerations. However, the same underlying type may be used for two or more combinations of each type, depending upon the hardware and compiler implementation, meaning that it isn't possible to determine the original PixelType and EndianType from the language type alone. This base class stores the PixelType and EndianType in order to provide reliable introspection.

## Constructor & Destructor Documentation

## § PixelBufferBase()

ome::files::PixelBufferBase::PixelBufferBase | ( | ::ome::xml::model::enums::PixelType | pixeltype,
|  | EndianType | endiantype
| ) |  |
| inlineprotected

Constructor.

Parameters

  pixeltype | the pixel type stored in this buffer.
  endiantype | the endian type variant of the pixel type stored in this buffer.

## Member Function Documentation

## § default_storage_order()

PixelBufferBase::storage_order_type ome::files::PixelBufferBase::default_storage_order | ( |  | ) |
| static

Generate default storage ordering.

The default is `XYZTC` with subchannel interleaving (i.e. `SXYzZtTcC` as the 9D order).

Returns
  the storage ordering.

References make_storage_order(), and ome::xml::model::enums::DimensionOrder::XYZTC.

Referenced by endianType().

Here is the caller graph for this function:

## § endianType()

EndianType ome::files::PixelBufferBase::endianType | ( |  | ) | const
| inline

Get the endian type in use.

Returns
  the endian type.

References default_storage_order(), endiantype, and make_storage_order().

## § make_storage_order()

PixelBufferBase::storage_order_type ome::files::PixelBufferBase::make_storage_order | ( | ome::xml::model::enums::DimensionOrder | order,
|  | bool | interleaved
| ) |  |
| static

Generate storage ordering for a given dimension order.

This converts the OME data model dimension ordering specification to the native 9D ordering, including subchannel and modulo components.

Parameters

  order | the OME data model dimension ordering
  interleaved | `true` if subchannels are interleaved (chunky), `false` otherwise (planar).

Returns
  the storage ordering.

References ome::files::DIM_CHANNEL, ome::files::DIM_MODULO_C, ome::files::DIM_MODULO_T, ome::files::DIM_MODULO_Z, ome::files::DIM_SPATIAL_X, ome::files::DIM_SPATIAL_Y, ome::files::DIM_SPATIAL_Z, ome::files::DIM_SUBCHANNEL, ome::files::DIM_TEMPORAL_T, dimensions, ome::xml::model::enums::DimensionOrder::XYCTZ, ome::xml::model::enums::DimensionOrder::XYCZT, ome::xml::model::enums::DimensionOrder::XYTCZ, ome::xml::model::enums::DimensionOrder::XYTZC, ome::xml::model::enums::DimensionOrder::XYZCT, and ome::xml::model::enums::DimensionOrder::XYZTC.

Referenced by default_storage_order(), endianType(), ome::files::detail::CopySubchannelVisitor::operator()(), ome::files::tiff::IFD::readImage(), ome::files::tiff::IFD::readLookupTable(), ome::files::detail::FormatReader::readPlane(), and ome::files::tiff::IFD::writeImage().

Here is the caller graph for this function:

## § pixelType()

::ome::xml::model::enums::PixelType ome::files::PixelBufferBase::pixelType | ( |  | ) | const
| inline

Get the pixel type in use.

Returns
  the pixel type.

References pixeltype.

The documentation for this class was generated from the following files:

- ome/files/PixelBuffer.h
- ome/files/PixelBuffer.cpp