Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
mitk::BaseDICOMReaderService Class Referenceabstract

Base class for service wrappers that make DICOMFileReader from the DICOM module usable. More...

#include <mitkBaseDICOMReaderService.h>

Inheritance diagram for mitk::BaseDICOMReaderService:
Collaboration diagram for mitk::BaseDICOMReaderService:

Public Member Functions

IFileReader::ConfidenceLevel GetConfidenceLevel () const override
 Determine the confidence level for reading a given file. More...
 
std::vector< itk::SmartPointer< BaseData > > Read () override
 Read data and create a list of BaseData objects. More...
 
DataStorage::SetOfObjects::Pointer Read (mitk::DataStorage &ds) override
 Read data and add it to the given DataStorage. More...
 
- Public Member Functions inherited from mitk::AbstractFileReader
void SetInput (const std::string &location) override
 Set the input file path, clearing any previously set input stream. More...
 
void SetInput (const std::string &location, std::istream *is) override
 Set an input stream and associated location label. More...
 
std::string GetInputLocation () const override
 Get the current input location. More...
 
std::istream * GetInputStream () const override
 Get the current input stream. More...
 
MimeType GetRegisteredMimeType () const
 Get the mime-type that was registered for this reader. More...
 
DataStorage::SetOfObjects::Pointer Read (mitk::DataStorage &ds) override
 Read data and add it to the given DataStorage. More...
 
Options GetOptions () const override
 Get the current option values. More...
 
us::Any GetOption (const std::string &name) const override
 Get the value of a specific option. More...
 
void SetOptions (const Options &options) override
 Set multiple options at once. More...
 
void SetOption (const std::string &name, const us::Any &value) override
 Set a single option value. More...
 
void AddProgressCallback (const ProgressCallback &callback) override
 Register a progress callback. More...
 
void RemoveProgressCallback (const ProgressCallback &callback) override
 Remove a previously registered progress callback. More...
 
us::ServiceRegistration< IFileReader > RegisterService (us::ModuleContext *context=us::GetModuleContext())
 Register this reader as a CppMicroServices service. More...
 
void UnregisterService ()
 Unregister this reader from the CppMicroServices registry. More...
 
std::vector< std::string > GetReadFiles () override
 Get the list of files consumed during the last Read() call. More...
 
void SetProperties (const PropertyList *properties) override
 Set base data properties as a source of meta data for reading. More...
 
- Public Member Functions inherited from mitk::IFileReader
 ~IFileReader () override
 
virtual ~IFileReader ()
 
- Public Member Functions inherited from mitk::IFileIO
virtual ~IFileIO ()
 

Protected Member Functions

 BaseDICOMReaderService (const std::string &description)
 Construct with the default DICOM MIME type and a description string. More...
 
 BaseDICOMReaderService (const mitk::CustomMimeType &customType, const std::string &description)
 Construct with a custom MIME type and a description string. More...
 
std::vector< itk::SmartPointer< BaseData > > DoRead () override
 Perform the actual reading of DICOM data. More...
 
mitk::StringList GetDICOMFilesInSameDirectory () const
 Returns the list of all DICOM files in the same directory as this->GetLocalFileName(). More...
 
virtual mitk::DICOMFileReader::Pointer GetReader (const mitk::StringList &relevantFiles) const =0
 Returns the reader instance that should be used for loading. More...
 
void SetOnlyRegardOwnSeries (bool onlyRegardOwnSeries)
 Set whether only files from the same DICOM series should be loaded. More...
 
bool GetOnlyRegardOwnSeries () const
 Get whether only files from the same DICOM series are loaded. More...
 
- Protected Member Functions inherited from mitk::AbstractFileReader
 AbstractFileReader ()
 Default constructor. More...
 
 ~AbstractFileReader () override
 
 AbstractFileReader (const AbstractFileReader &other)
 Copy constructor. More...
 
 AbstractFileReader (const CustomMimeType &mimeType, const std::string &description)
 Associate this reader instance with the given MIME type. More...
 
virtual us::ServiceProperties GetServiceProperties () const
 Get the service properties for registration. More...
 
virtual us::ServiceRegistration< CustomMimeType > RegisterMimeType (us::ModuleContext *context)
 Register a new CustomMimeType service object. More...
 
void SetMimeType (const CustomMimeType &mimeType)
 Set the MIME type this reader can handle. More...
 
const CustomMimeType * GetMimeType () const
 Get the MIME type this reader can handle. More...
 
void SetMimeTypePrefix (const std::string &prefix)
 Set the prefix used for auto-generated MIME type names. More...
 
std::string GetMimeTypePrefix () const
 Get the current MIME type name prefix. More...
 
void SetDescription (const std::string &description)
 Set the human-readable description of this reader. More...
 
std::string GetDescription () const
 Get the human-readable description of this reader. More...
 
void SetDefaultOptions (const Options &defaultOptions)
 Set the default options for this reader. More...
 
Options GetDefaultOptions () const
 Get the default options for this reader. More...
 
void SetRanking (int ranking)
 Set the service ranking for this file reader. More...
 
int GetRanking () const
 Get the service ranking for this file reader. More...
 
std::string GetLocalFileName () const
 Get a local file name for reading. More...
 
virtual void SetDefaultDataNodeProperties (DataNode *node, const std::string &filePath)
 Set default properties on a DataNode after reading. More...
 
const PropertyList * GetProperties () const override
 Get the properties set via SetProperties(). More...
 

Additional Inherited Members

- Public Types inherited from mitk::IFileIO
enum  ConfidenceLevel { Unsupported , PartiallySupported , Supported }
 A confidence level describing the reader's or writer's ability to handle the given data or file format. More...
 
typedef std::map< std::string, us::Any > Options
 Options for reading or writing data. More...
 
typedef mitk::MessageAbstractDelegate1< float > ProgressCallback
 Callback delegate type for progress reporting. More...
 
- Static Public Member Functions inherited from mitk::IFileIO
static std::string PROP_DESCRIPTION ()
 Service property name for a human-readable description. More...
 
static std::string PROP_MIMETYPE ()
 Service property name for the mime-type associated with this reader or writer. More...
 
- Protected Attributes inherited from mitk::AbstractFileReader
std::vector< std::string > m_ReadFiles
 List of files consumed during the last Read() call. Must be filled by DoRead(). More...
 

Detailed Description

Base class for service wrappers that make DICOMFileReader from the DICOM module usable.

This abstract class bridges the gap between the MITK DICOM file reading infrastructure (DICOMFileReader) and the I/O service framework (AbstractFileReader). Subclasses must implement GetReader() to provide a concrete DICOMFileReader for loading.

See also
DICOMFileReader, DICOMFileReaderSelector, AbstractFileReader

Definition at line 33 of file mitkBaseDICOMReaderService.h.

Constructor & Destructor Documentation

◆ BaseDICOMReaderService() [1/2]

mitk::BaseDICOMReaderService::BaseDICOMReaderService ( const std::string &  description)
protected

Construct with the default DICOM MIME type and a description string.

Parameters
[in]descriptionHuman-readable description of this reader service.

◆ BaseDICOMReaderService() [2/2]

mitk::BaseDICOMReaderService::BaseDICOMReaderService ( const mitk::CustomMimeType &  customType,
const std::string &  description 
)
protected

Construct with a custom MIME type and a description string.

Parameters
[in]customTypeThe custom MIME type to register for.
[in]descriptionHuman-readable description of this reader service.

Member Function Documentation

◆ DoRead()

std::vector<itk::SmartPointer<BaseData> > mitk::BaseDICOMReaderService::DoRead ( )
overrideprotectedvirtual

Perform the actual reading of DICOM data.

Uses GetDICOMFilesInSameDirectory() and GetReader() to load image data and puts it into BaseData instances.

Returns
A vector of loaded BaseData smart pointers.

Implements mitk::AbstractFileReader.

◆ GetConfidenceLevel()

IFileReader::ConfidenceLevel mitk::BaseDICOMReaderService::GetConfidenceLevel ( ) const
overridevirtual

Determine the confidence level for reading a given file.

Returns
The confidence level indicating how well this reader can handle the file.

Reimplemented from mitk::AbstractFileReader.

◆ GetDICOMFilesInSameDirectory()

mitk::StringList mitk::BaseDICOMReaderService::GetDICOMFilesInSameDirectory ( ) const
protected

Returns the list of all DICOM files in the same directory as this->GetLocalFileName().

Returns
A StringList of absolute file paths.

◆ GetOnlyRegardOwnSeries()

bool mitk::BaseDICOMReaderService::GetOnlyRegardOwnSeries ( ) const
protected

Get whether only files from the same DICOM series are loaded.

Returns
true if loading is restricted to the same series.

◆ GetReader()

virtual mitk::DICOMFileReader::Pointer mitk::BaseDICOMReaderService::GetReader ( const mitk::StringList &  relevantFiles) const
protectedpure virtual

Returns the reader instance that should be used for loading.

The decision may be based on the passed list of relevant files. Subclasses must implement this method.

Parameters
[in]relevantFilesThe list of DICOM files to consider for reader selection.
Returns
A smart pointer to the DICOMFileReader to use.

Implemented in mitk::SimpleVolumeDICOMSeriesReaderService, mitk::ManualSelectingDICOMReaderService, mitk::ClassicDICOMSeriesReaderService, mitk::AutoSelectingDICOMReaderService, mitk::CESTDICOMManualReaderService, and mitk::CESTDICOMReaderService.

◆ Read() [1/2]

std::vector<itk::SmartPointer<BaseData> > mitk::AbstractFileReader::Read
overridevirtual

Read data and create a list of BaseData objects.

The default implementation calls DoRead() and then annotates each resulting BaseData with meta-information about the reader, MIME type, input location, and reader options.

Returns
A vector of created BaseData objects.
Exceptions
mitk::Exceptionif reading fails.

Reimplemented from mitk::AbstractFileReader.

◆ Read() [2/2]

DataStorage::SetOfObjects::Pointer mitk::AbstractFileReader::Read
overridevirtual

Read data and add it to the given DataStorage.

Parameters
[in,out]dsThe DataStorage to add nodes to.
Returns
The set of DataNode objects added to ds.
Exceptions
mitk::Exceptionif reading fails.

Reimplemented from mitk::AbstractFileReader.

◆ SetOnlyRegardOwnSeries()

void mitk::BaseDICOMReaderService::SetOnlyRegardOwnSeries ( bool  onlyRegardOwnSeries)
protected

Set whether only files from the same DICOM series should be loaded.

Parameters
[in]onlyRegardOwnSeriesIf true, only files sharing the same Series Instance UID are loaded.

The documentation for this class was generated from the following file: