22#include <FMEThirdPartyWarningsDisable.h>
26#include <FMEThirdPartyWarningsRestore.h>
30class DicomMessageCollector;
48 typedef std::vector< std::vector< std::vector<DICOMCachedIOFileHandle > > >
FileNameSet;
55 _pageFileNames =
otherObj._pageFileNames;
63 return _pageFileNames ==
otherObj._pageFileNames;
96 _pageFileNames.clear();
101 return _pageFileNames;
106 return _pageFileNames;
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.
Class to manage a 3D set of handles describing frames or volumes to be composed to a higher dimension...
bool hasMultiFrameHandle() const
Returns true if any page file name is an enhanced multi-frame handle, otherwise false.
MLErrorCode setStateFromString(const std::string &state, size_t tExt, size_t uExt, const std::string &cacheDirPath, size_t &readPos)
Set the object content from the passed state string; the state string is reduced by the parsed conten...
void clearPageFileNames()
Resets the file name set to extent 0 in all dimensions.
~ZTUFileNameSet()
Destructor.
void setPageFileNames(const FileNameSet &pFNames)
Set entire set of file names at once.
DICOMCachedIOFileHandle getOriginalFrameHandle() const
Returns an empty string if there are two handles which have not the same original file,...
size_t getUExtentAt(size_t z=0, size_t t=0) const
Returns the extent of the file set in T-dimension at the position (z,t) if it exists,...
bool searchFrameWithSOPInstanceUID(const std::string &sopInstanceUID, DICOMCachedIOFileHandle &foundHandle, DICOMTagTools::ZTUIndex &ztuPosition, bool forceSearchInEnhancedHandles, DicomMessageCollector &dcmMsgCollector) const
Returns position and file handle of the first frame with the given SOPInstanceUID.
std::map< DICOMTagTools::ZTUIndex, DCMTree::Const_TagPtr > TagsWithPositionMap
Map of pairs of ZTU frame position with associated tag pointer.
ZTUFileNameSet(const ZTUFileNameSet &otherObject)
Copy constructor.
FileNameSet & getModifiablePageFileNameSet()
Returns the entire set of file names as modifiable object.
TagsWithPositionMap getTagFromAllFrames(unsigned int tagId, bool forceSearchInEnhancedHandles, bool doStringToValue, DicomMessageCollector &dcmMsgCollector, bool createNullTagEntries=false, const std::string &nullEntryTagValue="", bool createNotConvertibleTagEntries=false, const std::string &nonConvertibleTagValue="") const
Returns a map with pairs with (DICOMTagTools::ZTUIndex, DCMTree::Const_TagPtr) pairs of first tags in...
bool allHandlesExistAsFile(bool allowEmpty) const
Returns true if all handles can be found as files on disk, otherwise false; Multi-frame handles are h...
bool operator!=(const ZTUFileNameSet &otherObj) const
Returns false if the passed FileNameSets equals this, otherwise true.
std::vector< std::vector< std::vector< DICOMCachedIOFileHandle > > > FileNameSet
Vector array to manage a 3D set of (frame) file names the volume is composed of.
size_t getNumFrames() const
Returns the entire number of file names in set.
bool operator==(const ZTUFileNameSet &otherObj) const
Returns true if the passed FileNameSets equals this, otherwise false.
size_t getTExtent() const
Returns the maximum extent of the file set in T-dimension in all z entries.
size_t getZExtent() const
Returns the extent of the file set in Z-dimension.
void appendFileName(const std::string &fileName, bool appendToZ)
Append a file name to the z-dimension if appendToZ is true (there the extents in t and u are set to 1...
void appendFileNameToU(const std::string &fileName)
Append a file name to the u-dimension at z/t-position 0.
void appendFileNameToT(const std::string &fileName)
Append the file name to the t dimension at z-position 0.
bool searchFrameWithValueInTag(unsigned int tagId, const std::string &tagValue, DICOMCachedIOFileHandle &foundHandle, DICOMTagTools::ZTUIndex &ztuPosition, bool forceSearchInEnhancedHandles, DicomMessageCollector &dcmMsgCollector) const
Returns file handle and position of the first frame with a given tagValue in a tag with id tagId.
std::vector< DICOMCachedIOFileHandle > getAllFileHandles(const DICOMTagTools::ZTUVector &suppressedHandles=DICOMTagTools::ZTUVector()) const
Get all non-empty file handles as a one dimensional vector of files.
DICOMCachedIOFileHandle getFirstNonEmptyFileName() const
Returns the first non empty file name when scanning from [0][0][0] starting with u=0,...
bool needsNewSOPInstanceUID(bool allowOneToOneEnhancedFrameRecomposition, DicomMessageCollector &dcmMsgCollector) const
Checks all frame handles in fileNameSet whether a new SOPInstanceUID should be generated.
size_t getUExtent() const
Returns the maximum extent of the file set in U-dimension in all z and u entries.
ZTUFileNameSet & operator=(const ZTUFileNameSet &otherObj)
Assign members without cacheProxies.
void appendFileNameToZ(const std::string &fileName)
Append a file name to the z-dimension (there the extents in t and u are set to 1).
void setPageFileName(size_t z, size_t t, size_t u, const std::string fName)
Set the file name fName for the DICOM frame at position (z,t,u) as pageFileName.
const DICOMCachedIOFileHandle & getPageFileName(size_t z, size_t t, size_t u=0) const
Returns a reference to the file name fName for the DICOM frame at position (z,t).
bool isValidPosition(size_t z, size_t t, size_t u) const
Returns true if (z,t,u) addresses an existing (perhaps empty) entry in the ZTUFileNameSet,...
const FileNameSet & getConstPageFileNameSet() const
Returns the entire set of file names as constant.
ZTUFileNameSet()
Constructor.
bool hasEmptyPagesFileName() const
Returns true if any page file name is an empty string, otherwise false..
size_t getTExtentAt(size_t z=0) const
Returns the extent of the file set in T-dimension at the position z if it exists, otherwise 0 is retu...
bool hasNormalFrameHandle() const
Returns true if any page file name is non-enhanced-multi-frame handle, otherwise false.
std::string getStateAsString(const std::string &lineEndStr, const std::string &cacheFileRootDirPath, bool useRelativePaths) const
Return current content of class as string whose lines are separated by lineEndStr.
std::string getFileNameSetAsInfoString(bool fileNamesOnly=false) const
Returns all z and time positions and the corresponding file names as string.
void resizePageFileNamesToVolumeSize(size_t newZExt, size_t newTExt, size_t newUExt)
Assures that array of pageFileNames has sufficient extent for the current frames the volume is compos...
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...
Target mlrange_cast(Source arg)
Generic version of checked ML casts.
Header file of class ZTUIndex managing a multi-frame Z, T, and U-dimension plus a string value.
boost::shared_ptr< const Tag > Const_TagPtr
bool operator==(const Tmat2< DT > &a, const Tmat2< DT > &b)
a == b ? Return true if yes.