38 #ifndef OME_FILES_PIXELPROPERTIES_H    39 #define OME_FILES_PIXELPROPERTIES_H    43 #include <ome/common/boolean.h>    48 #include <ome/files/Types.h>    50 #include <ome/xml/model/enums/PixelType.h>    87         return sizeof(
typename P::std_type);
   130       static const bool is_signed = 
true;
   132       static const bool is_integer = 
true;
   134       static const bool is_complex = 
false;
   153       static const bool is_signed = 
true;
   155       static const bool is_integer = 
true;
   157       static const bool is_complex = 
false;
   176       static const bool is_signed = 
true;
   178       static const bool is_integer = 
true;
   180       static const bool is_complex = 
false;
   199       static const bool is_signed = 
false;
   201       static const bool is_integer = 
true;
   203       static const bool is_complex = 
false;
   209       public PixelPropertiesBase<struct PixelProperties< ::ome::xml::model::enums::PixelType::UINT16> >
   222       static const bool is_signed = 
false;
   224       static const bool is_integer = 
true;
   226       static const bool is_complex = 
false;
   245       static const bool is_signed = 
false;
   247       static const bool is_integer = 
true;
   249       static const bool is_complex = 
false;
   268       static const bool is_signed = 
true;
   270       static const bool is_integer = 
false;
   272       static const bool is_complex = 
false;
   291       static const bool is_signed = 
true;
   293       static const bool is_integer = 
false;
   295       static const bool is_complex = 
false;
   314       static const bool is_signed = 
false;
   316       static const bool is_integer = 
true;
   318       static const bool is_complex = 
false;
   336       public PixelPropertiesBase<PixelProperties< ::ome::xml::model::enums::PixelType::COMPLEXFLOAT> >
   342       typedef std::complex<boost::endian::big_float32_t> 
big_type;
   344       typedef std::complex<boost::endian::little_float32_t> 
little_type;
   346       typedef std::complex<boost::endian::native_float32_t> 
native_type;
   349       static const bool is_signed = 
true;
   351       static const bool is_integer = 
false;
   353       static const bool is_complex = 
true;
   359       public PixelPropertiesBase<PixelProperties< ::ome::xml::model::enums::PixelType::COMPLEXDOUBLE> >
   365       typedef std::complex<boost::endian::big_float64_t> 
big_type;
   367       typedef std::complex<boost::endian::little_float64_t> 
little_type;
   369       typedef std::complex<boost::endian::native_float64_t> 
native_type;
   372       static const bool is_signed = 
true;
   374       static const bool is_integer = 
false;
   376       static const bool is_complex = 
true;
   499                        bool            is_signed = 
false,
   500                        bool            is_integer = 
true,
   501                        bool            is_complex = 
false);
   519                       bool            is_signed = 
false,
   520                       bool            is_integer = 
true,
   521                       bool            is_complex = 
false);
   532       boost::endian::reverse(value);
   546       value = std::complex<float>(reverse_value(value.real()),
   547                                   reverse_value(value.imag()));
   561       value = std::complex<double>(reverse_value(value.real()),
   562                                    reverse_value(value.imag()));
   568 #endif // OME_FILES_PIXELPROPERTIES_H 
std::complex< float > std_type
Pixel type (standard language type). 
Definition: PixelProperties.h:339
pixel_size_type bytesPerPixel(::ome::xml::model::enums::PixelType pixeltype)
Get the size of a PixelType, in bytes. 
Definition: PixelProperties.cpp:65
boost::endian::native_uint16_t native_type
Pixel type (native endian). 
Definition: PixelProperties.h:219
::ome::xml::model::enums::PixelType pixelTypeFromBytes(pixel_size_type size, bool is_signed, bool is_integer, bool is_complex)
Determine a likely pixel type from its the storage size in bytes. 
Definition: PixelProperties.cpp:190
boost::endian::native_uint32_t native_type
Pixel type (native endian). 
Definition: PixelProperties.h:242
std::complex< double > std_type
Pixel type (standard language type). 
Definition: PixelProperties.h:362
std::complex< boost::endian::native_float32_t > native_type
Pixel type (native endian). 
Definition: PixelProperties.h:346
::ome::xml::model::enums::PixelType pixelTypeFromBits(pixel_size_type size, bool is_signed, bool is_integer, bool is_complex)
Determine a likely pixel type from its the storage size in bits. 
Definition: PixelProperties.cpp:251
Properties common to all pixel types. 
Definition: PixelProperties.h:77
PixelProperties< P >::little_type type
Pixel type (little endian). 
Definition: PixelProperties.h:399
boost::endian::big_float32_t big_type
Pixel type (big endian). 
Definition: PixelProperties.h:261
std::complex< boost::endian::little_float64_t > little_type
Pixel type (little endian). 
Definition: PixelProperties.h:367
uint32_t pixel_size_type
Size type for pixel bit depths. 
Definition: Types.h:62
pixel_size_type significantBitsPerPixel(::ome::xml::model::enums::PixelType pixeltype)
Get the significant (maximum bits used) size of a PixelType, in bits. 
Definition: PixelProperties.cpp:105
boost::endian::little_int32_t little_type
Pixel type (little endian). 
Definition: PixelProperties.h:171
ome::common::boolean native_type
Pixel type (native endian). 
Definition: PixelProperties.h:311
static pixel_size_type pixel_significant_bit_size()
Get significant (maximum bits used) size of pixel type, in bits. 
Definition: PixelProperties.h:327
static pixel_size_type pixel_byte_size()
Get size of pixel type, in bytes. 
Definition: PixelProperties.h:85
ome::common::boolean little_type
Pixel type (little endian). 
Definition: PixelProperties.h:309
Big endian. 
Definition: Types.h:70
boost::endian::little_int8_t little_type
Pixel type (little endian). 
Definition: PixelProperties.h:125
boost::endian::big_int8_t big_type
Pixel type (big endian). 
Definition: PixelProperties.h:123
static pixel_size_type pixel_significant_bit_size()
Get significant (maximum bits used) size of pixel type, in bits. 
Definition: PixelProperties.h:108
std::complex< boost::endian::little_float32_t > little_type
Pixel type (little endian). 
Definition: PixelProperties.h:344
boost::endian::native_float32_t native_type
Pixel type (native endian). 
Definition: PixelProperties.h:265
Map a given PixelPropertiesType enum to the corresponding language types. 
Definition: PixelProperties.h:61
bool isInteger(::ome::xml::model::enums::PixelType pixeltype)
Check whether a PixelType is integer. 
Definition: PixelProperties.cpp:145
uint16_t std_type
Pixel type (standard language type). 
Definition: PixelProperties.h:212
boost::endian::little_int16_t little_type
Pixel type (little endian). 
Definition: PixelProperties.h:148
static pixel_size_type pixel_bit_size()
Get size of pixel type, in bits. 
Definition: PixelProperties.h:96
int8_t std_type
Pixel type (standard language type). 
Definition: PixelProperties.h:120
boost::endian::big_uint16_t big_type
Pixel type (big endian). 
Definition: PixelProperties.h:215
uint32_t std_type
Pixel type (standard language type). 
Definition: PixelProperties.h:235
bool isComplex(::ome::xml::model::enums::PixelType pixeltype)
Check whether a PixelType is complex. 
Definition: PixelProperties.cpp:171
std::complex< boost::endian::native_float64_t > native_type
Pixel type (native endian). 
Definition: PixelProperties.h:369
int16_t std_type
Pixel type (standard language type). 
Definition: PixelProperties.h:143
Open Microscopy Environment C++. 
boost::endian::little_float64_t little_type
Pixel type (little endian). 
Definition: PixelProperties.h:286
Native endian. 
Definition: Types.h:72
boost::endian::big_int32_t big_type
Pixel type (big endian). 
Definition: PixelProperties.h:169
uint8_t std_type
Pixel type (standard language type). 
Definition: PixelProperties.h:189
void byteswap(T &value)
Byteswap value to switch endianness. 
Definition: PixelProperties.h:530
boost::endian::big_int16_t big_type
Pixel type (big endian). 
Definition: PixelProperties.h:146
bool isFloatingPoint(::ome::xml::model::enums::PixelType pixeltype)
Check whether a PixelType is floating point. 
Definition: PixelProperties.cpp:160
boost::endian::native_int8_t native_type
Pixel type (native endian). 
Definition: PixelProperties.h:127
PixelProperties< P >::big_type type
Pixel type (big endian). 
Definition: PixelProperties.h:391
boost::endian::little_uint16_t little_type
Pixel type (little endian). 
Definition: PixelProperties.h:217
int32_t std_type
Pixel type (standard language type). 
Definition: PixelProperties.h:166
bool isSigned(::ome::xml::model::enums::PixelType pixeltype)
Check whether a PixelType is signed. 
Definition: PixelProperties.cpp:125
boost::endian::native_int16_t native_type
Pixel type (native endian). 
Definition: PixelProperties.h:150
PixelProperties< P >::native_type type
Pixel type (native endian). 
Definition: PixelProperties.h:407
boost::endian::native_int32_t native_type
Pixel type (native endian). 
Definition: PixelProperties.h:173
boost::endian::native_uint8_t native_type
Pixel type (native endian). 
Definition: PixelProperties.h:196
Map the given PixelPropertiesType and Endian enums to the corresponding endian-specific language type...
Definition: PixelProperties.h:384
Little endian. 
Definition: Types.h:71
boost::endian::native_float64_t native_type
Pixel type (native endian). 
Definition: PixelProperties.h:288
bool std_type
Pixel type (standard language type). 
Definition: PixelProperties.h:304
boost::endian::big_uint32_t big_type
Pixel type (big endian). 
Definition: PixelProperties.h:238
std::complex< boost::endian::big_float32_t > big_type
Pixel type (big endian). 
Definition: PixelProperties.h:342
std::complex< boost::endian::big_float64_t > big_type
Pixel type (big endian). 
Definition: PixelProperties.h:365
boost::endian::big_float64_t big_type
Pixel type (big endian). 
Definition: PixelProperties.h:284
float std_type
Pixel type (standard language type). 
Definition: PixelProperties.h:258
pixel_size_type bitsPerPixel(::ome::xml::model::enums::PixelType pixeltype)
Get the size of a PixelType, in bits. 
Definition: PixelProperties.cpp:85
ome::common::boolean big_type
Pixel type (big endian). 
Definition: PixelProperties.h:307
double std_type
Pixel type (standard language type). 
Definition: PixelProperties.h:281
boost::endian::big_uint8_t big_type
Pixel type (big endian). 
Definition: PixelProperties.h:192
boost::endian::little_uint8_t little_type
Pixel type (little endian). 
Definition: PixelProperties.h:194
boost::endian::little_float32_t little_type
Pixel type (little endian). 
Definition: PixelProperties.h:263
boost::endian::little_uint32_t little_type
Pixel type (little endian). 
Definition: PixelProperties.h:240