22#include <FMEThirdPartyWarningsDisable.h>
25#include <FMEThirdPartyWarningsRestore.h>
32class DicomMessageCollector;
33class DicomConfigurableMessageFilter;
109 bool useRelativePaths,
148 const std::string& cacheFileRootDirPath,
149 bool useRelativePaths,
150 const std::string& userInfo=std::string())
const;
167 std::string& currCacheState,
168 const std::string& lineEndStr,
169 bool useRelativePaths,
170 const std::string &optionalFilePrefix =
"");
185 const std::string& cacheDirPath,
187 bool lightLoad=
false,
353 bool forceSearchInEnhancedHandles,
354 bool alsoSearchInSMFTrees,
375 const std::string& tagValue,
378 bool forceSearchInEnhancedHandles,
379 bool alsoSearchInSMFTrees,
390 const std::string& tagValue,
391 bool alsoSearchInSMFTrees)
const;
397 bool separateWithTerminatorIfNecessary);
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.
Class to collect messages and errors related to a given frame handle.
int getFillValueUInt8() const
Fill value for gaps in volume.
bool setUpIssues(const DicomMessageCollector *dcmMsgCollector=nullptr)
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)
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)
bool equals(const MultiFileVolume &obj) const
const DICOMCachedIOFileHandle & getDirectDCMTreeFileName() const
virtual ~MultiFileVolume()
Destructor.
int getPlanarConfig() const
Planar configuration of the volume.
const std::vector< std::string > & getIssuesVector() const
void setFirstFileName(const std::string &fName)
Module ** getMLItkImageFileReaderPointer()
size_t getTExt() const
Time extent of the volume.
bool hasTagWithValueInTree(DCMTree::RawTagId tagId, const std::string &tagValue, bool alsoSearchInSMFTrees) const
std::string getInfoDump(const std::string &cacheFileRootDirPath, bool useRelativePaths, const DicomMessageCollector *dcmMsgCollector=nullptr) const
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="")
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
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)
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)
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)
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
void setPlanarConfig(int pConfig)
static void setUpMetaDataDumpsFromAdditionalOptions(const MultiFileVolumeAdditionalOptions &additionalOptions, PagedImage &imgProps)
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
MLImageFormat ** getMLImageFormatFileLoaderPointer()
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)
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
const PagedImage & getImageProperties() const
MLPaged image properties of the volume.
const DCMTree::Const_TreePtr getDCMTree(bool checkImgProps=false) const
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
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.
MLint32 MLErrorCode
Type of an ML Error code.
boost::shared_ptr< const StructuredMF > Const_StructuredMFPtr
boost::shared_ptr< const Tree > Const_TreePtr
DICOMCachedIOFileHandleBase< char > DICOMCachedIOFileHandle
"Forward" to DICOMCachedIOFileHandle.
MultiFileVolume DirectDicomImportVolumeReference
For backward compatibility to DirectDicomImport applications:
TImageVector< MLint > ImageVector
Defines the standard ImageVector type that is used by the ML for indexing and coordinates.