ome-files  0.5.0
Todo List
Class ome::files::CoreMetadata
We may want to consider refactoring the FormatReader getter methods that fill in missing CoreMetadata fields on the fly (getThumbSizeX, getThumbSizeY) to avoid doing so – one alternate approach would be to have this class use getter methods instead of public fields.
Member ome::files::createOMEXMLRoot (const std::string &document)
Implement model transforms.
Member ome::files::detail::CopySubchannelVisitor::operator() (const T &v)
Only call setBuffer if the shape and pixel type differ, to allow user control over storage order.
Member ome::files::detail::FormatReader::coreIndex
Remove use of stateful API which requires use of series switching in const methods.
Member ome::files::detail::FormatReader::getBitsPerPixel () const
: Move this logic into a CoreMetadata accessor. Why are we modifying coremetadata during an explicitly nonmodifying operation??
Member ome::files::detail::FormatReader::isUsedFile (const boost::filesystem::path &file)
: Use a set rather than a list?
Member ome::files::detail::FormatReader::openThumbBytes (dimension_size_type plane, VariantPixelBuffer &buf) const
Implement openThumbBytes. This requires implementing image rescaling/resampling.
Member ome::files::detail::FormatReader::plane
Remove use of stateful API which requires use of series switching in const methods.
Member ome::files::detail::FormatReader::resolution
Remove use of stateful API which requires use of series switching in const methods.
Member ome::files::detail::FormatReader::series
Remove use of stateful API which requires use of series switching in const methods.
Member ome::files::detail::FormatReader::setId (const boost::filesystem::path &id)
Implement addModuloAlong. Requires bits of MetadataTools OMEXMLServiceImpl.
Member ome::files::FileInfo::reader
Document factory function to create reader.
Member ome::files::FormatHandler::isThisType (const boost::filesystem::path &name, bool open=true) const =0
Could this method be static?
Member ome::files::FormatReader::getIndex (dimension_size_type z, dimension_size_type c, dimension_size_type t) const =0

unify with the pixel buffer dimension indexes.

Don't use separate values to match the return of getZCTCoords.

Member ome::files::FormatReader::getIndex (dimension_size_type z, dimension_size_type c, dimension_size_type t, dimension_size_type moduloZ, dimension_size_type moduloC, dimension_size_type moduloT) const =0

unify with the pixel buffer dimension indexes.

Don't use separate values to match the return of getZCTModuloCoords.

Member ome::files::FormatReader::getPossibleDomains (const std::string &id) const =0
can this be a reference to static data?
Member ome::files::FormatReader::getRequiredDirectories (const std::vector< std::string > &files) const =0
This could use a much better explanation, it's not at all clear what the return value means. Is it an index into files? Is it an index into the path components? Of which of the files? In which order? From the root or common parent? Is the order of files important?
Member ome::files::FormatReader::getZCTCoords (dimension_size_type index) const =0
unify with the pixel buffer dimension indexes.
Member ome::files::FormatReader::getZCTModuloCoords (dimension_size_type index) const =0
unify with the pixel buffer dimension indexes.
Member ome::files::FormatReader::isOriginalMetadataPopulated () const =0
The name of this method is awful.
Member ome::files::FormatReader::isThisType (const uint8_t *begin, const uint8_t *end) const =0
Could this method be static and/or const?
Member ome::files::FormatReader::isThisType (const uint8_t *begin, std::size_t length) const =0
Could this method be static and/or const?
Member ome::files::FormatReader::isThisType (std::istream &stream) const =0
Could this method be static and/or const?
Member ome::files::FormatReader::setCoreIndex (dimension_size_type index) const =0
Remove use of stateful API which requires use of series switching in const methods.
Member ome::files::FormatReader::setPlane (dimension_size_type plane) const =0
Remove use of stateful API which requires use of plane switching in const methods.
Member ome::files::FormatReader::setResolution (dimension_size_type resolution) const =0
Remove use of stateful API which requires use of series switching in const methods.
Member ome::files::FormatReader::setSeries (dimension_size_type series) const =0
Remove use of stateful API which requires use of series switching in const methods.
Class ome::files::FormatWriter
Implement saveBytes methods using 2D Region with and/or in terms of Boost.MultiArray index ranges.
Member ome::files::FormatWriter::setPlane (dimension_size_type plane) const =0
Remove use of stateful API which requires use of plane switching in const methods.
Member ome::files::FormatWriter::setSeries (dimension_size_type series) const =0
Remove use of stateful API which requires use of series switching in const methods.
Member ome::files::getOriginalMetadata (ome::xml::meta::OMEXMLMetadata &omexml)
log error
Member ome::files::in::OMETIFFReader::getMetadataStoreForConversion ()
Remove in 0.3
Member ome::files::in::OMETIFFReader::getMetadataStoreForDisplay ()
Remove in 0.3
Member ome::files::in::OMETIFFReader::initFile (const boost::filesystem::path &id)
Log.
Member ome::files::Modulo::size () const
Use proper rounding (compat function for round(3)).
Member ome::files::out::OMETIFFWriter::originalMetadataRetrieve
Overriding getMetadataRetrieve will be a cleaner solution, but need to eliminate all direct use of metadataRetrieve in all writers first.
Class ome::files::PixelBuffer< T >
Add support for subsetting dimensions.
Member ome::files::tiff::FieldBase::Impl::getFieldInfo ()
Log an error or throw an exception. Having a logger as a Field class member is likely to heavyweight. However, we do need to be sure that non-standard unregistered fields can be read. Maybe by using the libtiff custom type registration as done for ImageJ metadata?
Member ome::files::tiff::FieldBase::readCount () const
: Check TIFF_VARIABLE/TIFF_VARIABLE2/TIFF_SPP and adjust the return value accordingly.
Member ome::files::tiff::FieldBase::writeCount () const
: Check TIFF_VARIABLE/TIFF_VARIABLE2/TIFF_SPP and adjust the return value accordingly.
Member ome::files::tiff::getCoreMetadata (const IFD &ifd, CoreMetadata &core)

EXIF IFDs

Text stream output for Tag enums.

Metadata type for PhotometricInterpretation.

Image orientation (storage order and direction) from ORIENTATION; fix up width and length from orientation.

Only set if debugging/verbose.

Only set if debugging/verbose.

sminsamplevalue

smaxsamplevalue

Only set if debugging/verbose.

JPEG tags

Text stream output for Tag enums.

Metadata type for PhotometricInterpretation.

Image orientation (storage order and direction) from ORIENTATION; fix up width and length from orientation.

Only set if debugging/verbose.

Only set if debugging/verbose.

sminsamplevalue

smaxsamplevalue

Only set if debugging/verbose.

JPEG tags

Text stream output for Tag enums.

Metadata type for PhotometricInterpretation.

Image orientation (storage order and direction) from ORIENTATION; fix up width and length from orientation.

Only set if debugging/verbose.

Only set if debugging/verbose.

sminsamplevalue

smaxsamplevalue

Only set if debugging/verbose.

JPEG tags

Member ome::files::tiff::TIFF::Impl::~Impl ()
Log the error elsewhere.
Class ome::files::VariantPixelBuffer
Add support for subsetting dimensions.