22#include <FMEThirdPartyWarningsDisable.h>
25#include <FMEThirdPartyWarningsRestore.h>
32class DicomMessageCollector;
33class DicomConfigurableMessageFilter;
150 const std::string&
userInfo=std::string())
const;
425 std::string _outVolumeName;
435 std::string _fileFormat;
453 std::vector<std::string> _issues;
460 std::string _inputFilterLabel;
464 std::string _inputFilterConfig;
474 Module* _mlItkImageFileReader;
Project global and OS specific declarations.
#define MLMULTI_FILE_VOLUME_EXPORT
Only for diagnostic purposes.
An instance of this class creates singleton proxies for DICOMCachedIO cache classes such that all cac...
Class to collect messages and errors related to a given frame handle.
Base class for an image processing module of the ML.
Container which stores additional options for MultiFileVolumes which can have an arbitrary number of ...
Management class used by DirectDicomImport to create, represent and describe volumes composed of mult...
int getFillValueUInt8() const
Fill value for gaps in volume.
bool setUpIssues(const DicomMessageCollector *dcmMsgCollector=nullptr)
Sets up the member 'issues' to a description of known problems for this volume and return true or - i...
size_t getZExt() const
Z-Extent of the volume.
MLErrorCode setFromString(const std::string &state, const std::string &cacheDirPath, size_t &readPos, bool lightLoad=false, DicomMessageCollector *dcmMsgCollector=nullptr)
Reads the MultFileVolume state from the string state starting at readPos.
PagedImage & getModifiableImageProperties()
ZTUFileNameSet & getModifiablePageFileNames()
2D vector of all DICOM file names to be composed to the result image.
void appendFilteredIssue(const std::string &issue, const DicomMessageCollector *dcmMsgCollector, bool separateWithTerminatorIfNecessary)
If possible then filter issue with dcmMsgCollector and append it to getIssuesVector() if not filtered...
bool equals(const MultiFileVolume &obj) const
Returns true if all properties stored with setFromString and restored with getAsString() of *this and...
const DICOMCachedIOFileHandle & getDirectDCMTreeFileName() const
virtual ~MultiFileVolume()
Destructor.
int getPlanarConfig() const
Planar configuration of the volume.
const std::vector< std::string > & getIssuesVector() const
String vector containing a description of issues related to the imported volume or empty if no proble...
void setFirstFileName(const std::string &fName)
Module ** getMLItkImageFileReaderPointer()
Provide access to a pointer to an MLItkImageFileReader which is created on demand.
size_t getTExt() const
Time extent of the volume.
bool hasTagWithValueInTree(DCMTree::RawTagId tagId, const std::string &tagValue, bool alsoSearchInSMFTrees) const
Returns true if the DICOM tree of this has a tag with id tagId and value tagValue; otherwise false is...
std::string getInfoDump(const std::string &cacheFileRootDirPath, bool useRelativePaths, const DicomMessageCollector *dcmMsgCollector=nullptr) const
Returns information about *this as human readable string.
void setFileFormat(const std::string &fFormat)
void setFillValueUInt8(int fVal)
MLErrorCode appendToCache(const std::string &cacheDirPath, std::string &currCacheState, const std::string &lineEndStr, bool useRelativePaths, const std::string &optionalFilePrefix="")
Converts the current state of this to a string, appends it to the currCacheState, stores DICOM trees ...
static const char *const DDISMFTreeCacheFileSuffix
A constant suffix for SMF tree file generated for cache files.
std::string getVolumeInfoString(const std::string &lineEndStr, const std::string &cacheFileRootDirPath, bool useRelativePaths, const std::string &userInfo=std::string()) const
Return a human-readable subset of information about this volume which is also used for persistence wh...
void setImportTime(MLdouble iTime)
MultiFileVolume()
Default constructor.
DicomToMLTools::FillPageMethods getFillPageMethod() const
The way how a page is filled with data from the source file or tree.
MLErrorCode copyToSubImage(SubImage &outSubImg, PagedImage &, DicomMessageCollector &dcmMsgCollector)
Same as copyToSubImage(SubImage& outSubImg, DicomMessageCollector& dcmMsgCollector) for backward comp...
void setUpMetaDataDumpsFromAdditionalOptions()
Calls setUpMetaDataDumpsFromAdditionalOptions(this->_additionalOptions and this->_imgProps).
const DICOMCachedIOFileHandle & getFirstFileName() const
Name of first file used to compose the output image.
MultiFileVolume & operator=(const MultiFileVolume &ref)
Assignment operator.
void setInputFilterConfig(const std::string &config)
void appendFrameFile(MLint imgDim, const std::string &fileName, ImageVector &ext)
Append an image frame with image dimension imgDim (where color extents > 1 are not considered as exte...
static const char *const DDIVersionStringBase
A constant version string used as base for all currently used version strings written to cache files.
void setSMFTree(DCMTree::Const_StructuredMFPtr tree)
Set the SMF DCMTree of the volume.
MLErrorCode removeSpatialSlices(std::vector< size_t > zIndexesToRemove)
Removes all entries of pageFileNames in z-dimension which are given in zIndexesToRemove and updates t...
MultiFileVolumeAdditionalOptions & getAdditionalOptionsContainer()
Provide access to the container with additional options.
const DICOMCachedIOFileHandle & getOvrDataSrcFile() const
In case of DCM/Tiff pairs or other formats this stores the file the data comes from instead of the or...
const std::string & getInputFilterLabel() const
Return the volume label defined input filters; default is "".
void setDicomSMFTagTreeCacheFileName(const std::string &fName)
size_t getUExt() const
U extent of the volume.
void setInputFilterLabel(const std::string &label)
void setOvrDataSrcFile(const std::string &oDFile)
const std::string & getFileFormat() const
String set to the file format if it is not a DICOM or DICOM/Tiff import.
const DCMTree::Const_StructuredMFPtr getSMFTree(bool checkImgProps=false) const
Returns a constant pointer to the SMF DICOM tree available for this volume.
void setPlanarConfig(int pConfig)
static void setUpMetaDataDumpsFromAdditionalOptions(const MultiFileVolumeAdditionalOptions &additionalOptions, PagedImage &imgProps)
Setting up meta data from additionalOptions.
std::string getIssues(const DicomMessageCollector *dcmMsgCollector=nullptr) const
Returns a string containing a description of issues related to the imported volume or "" if no proble...
void invalidateImage(const std::string &stateInfo, MLErrorCode stateErrCode)
Invalidate image properties, sets outOfDate and UpdateOfImagePropertiesNeeded flags,...
bool searchFrameWithValueInTag(DCMTree::RawTagId tagId, const std::string &tagValue, DICOMCachedIOFileHandle &foundHandle, DICOMTagTools::ZTUIndex &ztuPosition, bool forceSearchInEnhancedHandles, bool alsoSearchInSMFTrees, DicomMessageCollector &dcmMsgCollector) const
Returns file handle and position of the first frame in the volume with the given tagValue in tag with...
MLImageFormat ** getMLImageFormatFileLoaderPointer()
Provide access to a pointer to an MLImageFormatLoader which is created on demand.
const DICOMCachedIOFileHandle & getDicomSMFTagTreeCacheFileName() const
Name of the cache file associated with the dicomSMFTagTree if it was written to a cache or reloaded f...
void setOutVolumeName(const std::string &fName)
MLErrorCode copyToSubImage(SubImage &outSubImg, DicomMessageCollector &dcmMsgCollector)
Copies overlapping regions of the volume with outSubImg into outSubImg, non-constant since needed loa...
const ZTUFileNameSet & getConstPageFileNames() const
void addImportTime(MLdouble iTimeToAdd)
bool searchFrameWithSOPInstanceUID(const std::string &sopInstanceUID, DICOMCachedIOFileHandle &foundHandle, DICOMTagTools::ZTUIndex &ztuPosition, bool forceSearchInEnhancedHandles, bool alsoSearchInSMFTrees, DicomMessageCollector &dcmMsgCollector) const
Returns position and file handle of the first frame with the given SOPInstanceUID.
const PagedImage & getImageProperties() const
MLPaged image properties of the volume.
const DCMTree::Const_TreePtr getDCMTree(bool checkImgProps=false) const
Returns a constant pointer to the DICOM tree available for this volume, however, it may not have load...
MLdouble getImportTime() const
Rough time needed to import this volume in seconds (not very precise).
const std::string & getInputFilterConfig() const
Return the DPL configuration defined by input filters; default is "".
void setFillPageMethod(DicomToMLTools::FillPageMethods fpMode)
void setDirectDCMTreeFileName(const std::string &fName)
DCMTree::Const_TreePtr getDCMTreeAlsoFromFiles() const
Returns an associated DCMTree if there is any in the volume, otherwise nullptr; the difference to get...
const std::string & getOutVolumeName() const
Name base (without extension) of generated output volumes or empty if no output is generated.
MultiFileVolume(const MultiFileVolume &ref)
Copy constructor.
Class which represents an image, which manages properties of an image and image data which is located...
This class manages/represents a rectangular 6d image region which is organized linearly in memory.
Class to manage a 3D set of handles describing frames or volumes to be composed to a higher dimension...
MLint32 MLErrorCode
Type of an ML Error code.
Header of FileHandle class which should be used in DICOM importing modules to resolve the filename fo...
An instance of this class creates singleton proxies for DICOMCachedIO cache classes such that all cac...
Header file of container class storing additional options for MultiFileVolumes.
Target mlrange_cast(Source arg)
Generic version of checked ML casts.
MLint64 MLint
A signed ML integer type with at least 64 bits used for index calculations on very large images even ...
Header file of class to manage a 3D set of handles describing frames or volumes to be composed to a h...
boost::shared_ptr< const StructuredMF > Const_StructuredMFPtr
boost::shared_ptr< const Tree > Const_TreePtr