38 #ifndef OME_FILES_OUT_OMETIFFWRITER_H
39 #define OME_FILES_OUT_OMETIFFWRITER_H
41 #include <boost/filesystem/path.hpp>
43 #include <ome/files/detail/FormatWriter.h>
44 #include <ome/files/detail/OMETIFF.h>
48 #include <ome/xml/meta/OMEXMLMetadata.h>
84 std::shared_ptr<ome::files::tiff::TIFF>
tiff;
100 typedef std::map<boost::filesystem::path, TIFFState>
tiff_map;
107 std::vector<detail::OMETIFFPlane>
planes;
144 std::shared_ptr<ome::xml::meta::OMEXMLMetadata>
omeMeta;
160 setId(
const boost::filesystem::path&
id);
164 close(
bool fileOnly =
false);
211 getOMEXML(
const boost::filesystem::path&
id);
221 const std::string& xml);
240 boost::optional<bool>
248 #endif // OME_FILES_OUT_OMETIFFWRITER_H
void close(bool fileOnly=false)
Close the currently open file.
Definition: OMETIFFWriter.cpp:539
void saveBytes(dimension_size_type plane, VariantPixelBuffer &buf, dimension_size_type x, dimension_size_type y, dimension_size_type w, dimension_size_type h)
Save an image plane.
Definition: OMETIFFWriter.cpp:686
void setupIFD() const
Set IFD parameters for the current series.
Definition: OMETIFFWriter.cpp:627
boost::filesystem::path baseDir
Base path for computing relative paths in the OME-XML.
Definition: OMETIFFWriter.h:114
std::shared_ptr< ome::xml::meta::OMEXMLMetadata > omeMeta
OME-XML metadata for embedding in the TIFF.
Definition: OMETIFFWriter.h:144
logging::sources::severity_logger_mt< logging::trivial::severity_level > Logger
virtual ~OMETIFFWriter()
Destructor.
Definition: OMETIFFWriter.cpp:431
dimension_size_type ifdCount
Number of IFDs written.
Definition: OMETIFFWriter.h:86
series_list seriesState
State of each series.
Definition: OMETIFFWriter.h:130
std::size_t dimension_size_type
Size type for image dimensions.
Definition: Types.h:58
std::map< boost::filesystem::path, TIFFState > tiff_map
Map filename to TIFF state.
Definition: OMETIFFWriter.h:100
ome::common::Logger logger
Message logger.
Definition: OMETIFFWriter.h:72
boost::optional< bool > getBigTIFF() const
Query use of BigTIFF support.
Definition: OMETIFFWriter.cpp:916
TIFFState(std::shared_ptr< ome::files::tiff::TIFF > &tiff)
Constructor.
Definition: OMETIFFWriter.cpp:406
std::map< boost::filesystem::path, std::string > file_uuid_map
Map filename to UUID.
Definition: OMETIFFWriter.h:75
std::shared_ptr< ome::files::tiff::TIFF > tiff
TIFF file handle.
Definition: OMETIFFWriter.h:84
tiff_map tiffs
Open TIFF files.
Definition: OMETIFFWriter.h:121
std::string flags
TIFF flags.
Definition: OMETIFFWriter.h:127
OMETIFFWriter()
Constructor.
Definition: OMETIFFWriter.cpp:417
void setPlane(dimension_size_type plane) const
Set the active plane.
Definition: OMETIFFWriter.cpp:607
void setSeries(dimension_size_type series) const
Set the active series.
Definition: OMETIFFWriter.cpp:594
file_uuid_map files
UUID to filename mapping.
Definition: OMETIFFWriter.h:117
std::shared_ptr<::ome::xml::meta::MetadataRetrieve > originalMetadataRetrieve
Original MetadataRetrieve.
Definition: OMETIFFWriter.h:141
void nextIFD() const
Flush current IFD and create new IFD.
Definition: OMETIFFWriter.cpp:620
Current state of an image series.
Definition: OMETIFFWriter.h:104
std::string getOMEXML(const boost::filesystem::path &id)
Get OME-XML for embedding into the specified TIFF file.
Definition: OMETIFFWriter.cpp:781
TIFF writer with support for OME-XML metadata.
Definition: OMETIFFWriter.h:68
std::string uuid
UUID of file.
Definition: OMETIFFWriter.h:82
State of TIFF file.
Definition: OMETIFFWriter.h:79
void setBigTIFF(boost::optional< bool > big=true)
Set use of BigTIFF support.
Definition: OMETIFFWriter.cpp:910
void saveComment(const boost::filesystem::path &id, const std::string &xml)
Save OME-XML text in the first IFD of the specified TIFF file.
Definition: OMETIFFWriter.cpp:802
std::vector< detail::OMETIFFPlane > planes
Current state of each plane in an image series.
Definition: OMETIFFWriter.h:107
void fillMetadata()
Fill MetadataStore with cached metadata.
Definition: OMETIFFWriter.cpp:713
void setId(const boost::filesystem::path &id)
Set the current file name.
Definition: OMETIFFWriter.cpp:443
~TIFFState()
Destructor.
Definition: OMETIFFWriter.cpp:413
Buffer for all pixel types.
Definition: VariantPixelBuffer.h:75
tiff_map::iterator currentTIFF
Current TIFF file.
Definition: OMETIFFWriter.h:124
std::vector< SeriesState > series_list
Vector of SeriesState objects.
Definition: OMETIFFWriter.h:111
boost::optional< bool > bigTIFF
Write a Big TIFF.
Definition: OMETIFFWriter.h:148