22template<
typename CT>
class DICOMCachedIOFileHandleBase;
28class DicomMessageCollector;
126 const ML_NAMESPACE::DICOMCachedIOFileHandle &fileHandle);
146 ML_NAMESPACE::DicomMessageCollector &dcmMsgCollector);
156 ML_NAMESPACE::DicomMessageCollector &dcmMsgCollector);
165 ML_NAMESPACE::DicomMessageCollector &dcmMsgCollector);
180 static MLuint _instanceCounter;
Project global and OS specific declarations.
#define MLDICOMCachedIO_EXPORT
If included by external modules, exported symbols are declared as import symbols.
Class containing the DCMTree look up map and the list of most recently used DICOM files as names.
Class for DICOM tree accesses and caching of them for DICOM importing modules.
void storeSingleFrameTree(DCMTree::TreePtr singleFrameTree, const ml::DICOMCachedIOFileHandle &origFileHandle, size_t frameIndex)
Single frame management of multi-frame files.
void setMaxNumBytes(MLint maxNumBytes)
Set maximum number of bytes used for tree data. Values < 0 are clamped to 0.
void flushSingleFrameCache()
Clears all cached singleFrameTrees, because they are normally excluded from normal flushing.
MLint getMaxNumMegaBytes() const
Return maximum number of bytes used for tree data.
static MLDICOMCachedIOTreeCache singletonProxy()
Singleton and cache management.
MLint getNumFlushedBytes() const
Returns the number of flushed bytes since most recent recent resetNumFlushedBytes().
MLErrorCode loadSMFTree(const ml::DICOMCachedIOFileHandle &fileHandle, DCMTree::StructuredMFPtr &smfPtr, ml::DicomMessageCollector &dcmMsgCollector)
Loads the given DICOM tree specified by fileName into smfPtr.
MLint flush(const MLint maxBytes, const bool flushAll=false)
Singleton and cache management.
void removeAssociatedEntries(const ml::DICOMCachedIOFileHandle &fileHandle)
Removed cached multi-frame data and/or tree related to fileHandle.
MLint getTotalNumberOfBytes() const
Returns the approximate number of cached bytes in trees.
void setMaxNumMegaBytes(MLint maxNumMegaBytes)
Set maximum number of mega bytes used for tree data. Values < 0 are clamped to 0.
MLErrorCode addDCMTree(const ml::DICOMCachedIOFileHandle &fileHandle, DCMTree::TreePtr &treePtr)
If no entry with the file handle exists, then it adds treePtr to the cache with the specified fileHan...
ml::IntField & getMaxNumMegaBytesFld() const
Return field that holds the maximum number of mega bytes used for tree data.
MLErrorCode loadDCMTree(const ml::DICOMCachedIOFileHandle &fileHandle, DCMTree::TreePtr &treePtr, ml::DicomMessageCollector &dcmMsgCollector)
Loads the given non-constant DICOM tree specified by fileHandle into treePtr.
MLErrorCode saveDCMTree(DCMTree::Const_TreePtr dcmTree, const ml::DICOMCachedIOFileHandle &fileHandle)
DCMTree IO Support.
MLErrorCode loadConstantDCMTree(const ml::DICOMCachedIOFileHandle &fileHandle, DCMTree::Const_TreePtr &treePtr, ml::DicomMessageCollector &dcmMsgCollector)
Loads the given constant DICOM tree specified by fileHandle into treePtr.
void resetNumFlushedBytes()
Sets counter of flushed bytes to 0.
MLDICOMCachedIOTreeCache()
Constructor. Increments the reference counting and creates a cache if the count is 0.
void clear()
Clears the DICOM trees cache map.
MLint flush()
Same as flush(getMaxNumBytes(), false).
MLint getMaxNumBytes() const
Return maximum number of bytes used for tree data.
MLErrorCode getCachedDCMTree(const ml::DICOMCachedIOFileHandle &fileHandle, DCMTree::TreePtr &treePtr)
Returns ML_RESULT_OK if the DICOM file given by fileName is already cached and then treePtr returns t...
Field to encapsulate an integer value.
MLint32 MLErrorCode
Type of an ML Error code.
Target mlrange_cast(Source arg)
Generic version of checked ML casts.
MLuint64 MLuint
An unsigned ML integer type with at least 64 bits used for index calculations on very large images ev...
MLint64 MLint
A signed ML integer type with at least 64 bits used for index calculations on very large images even ...
boost::shared_ptr< StructuredMF > StructuredMFPtr
boost::shared_ptr< const Tree > Const_TreePtr
boost::shared_ptr< Tree > TreePtr
shared pointer to a DCMTree::Tree
DICOMCachedIOFileHandleBase< char > DICOMCachedIOFileHandle
"Forward" to DICOMCachedIOFileHandle.