Medical Imaging Interaction Toolkit
2018.4.99-389bf124
Medical Imaging Interaction Toolkit
|
Base class for creating mitk::BaseData objects from files or streams. More...
#include <mitkAbstractFileReader.h>
Classes | |
class | InputStream |
An input stream wrapper. More... | |
Public Member Functions | |
void | SetInput (const std::string &location) override |
Set the input location. More... | |
void | SetInput (const std::string &location, std::istream *is) override |
Set an input stream to read from. More... | |
std::string | GetInputLocation () const override |
Get the current input location. More... | |
std::istream * | GetInputStream () const override |
Get the input stream. More... | |
MimeType | GetRegisteredMimeType () const |
std::vector< itk::SmartPointer< BaseData > > | Read () override=0 |
Reads a path or stream and creates a list of BaseData objects. More... | |
DataStorage::SetOfObjects::Pointer | Read (mitk::DataStorage &ds) override |
Reads the specified file or input stream, loading its contents into the provided DataStorage. More... | |
ConfidenceLevel | GetConfidenceLevel () const override |
The confidence level of the reader or writer implementation. More... | |
Options | GetOptions () const override |
returns a list of the supported options More... | |
us::Any | GetOption (const std::string &name) const override |
void | SetOptions (const Options &options) override |
void | SetOption (const std::string &name, const us::Any &value) override |
void | AddProgressCallback (const ProgressCallback &callback) override |
void | RemoveProgressCallback (const ProgressCallback &callback) override |
us::ServiceRegistration< IFileReader > | RegisterService (us::ModuleContext *context=us::GetModuleContext()) |
void | UnregisterService () |
std::vector< std::string > | GetReadFiles () override |
![]() | |
~IFileReader () override | |
virtual | ~IFileReader () |
![]() | |
virtual | ~IFileIO () |
Protected Member Functions | |
AbstractFileReader () | |
~AbstractFileReader () override | |
AbstractFileReader (const AbstractFileReader &other) | |
AbstractFileReader (const CustomMimeType &mimeType, const std::string &description) | |
virtual us::ServiceProperties | GetServiceProperties () const |
virtual us::ServiceRegistration< CustomMimeType > | RegisterMimeType (us::ModuleContext *context) |
void | SetMimeType (const CustomMimeType &mimeType) |
const CustomMimeType * | GetMimeType () const |
void | SetMimeTypePrefix (const std::string &prefix) |
std::string | GetMimeTypePrefix () const |
void | SetDescription (const std::string &description) |
std::string | GetDescription () const |
void | SetDefaultOptions (const Options &defaultOptions) |
Options | GetDefaultOptions () const |
void | SetRanking (int ranking) |
Set the service ranking for this file reader. More... | |
int | GetRanking () const |
std::string | GetLocalFileName () const |
Get a local file name for reading. More... | |
virtual void | SetDefaultDataNodeProperties (DataNode *node, const std::string &filePath) |
Protected Attributes | |
std::vector< std::string > | m_ReadFiles |
Additional Inherited Members | |
![]() | |
enum | ConfidenceLevel { Unsupported, PartiallySupported, Supported } |
A confidence level describing the confidence of the reader or writer in handling the given data. More... | |
typedef std::map< std::string, us::Any > | Options |
Options for reading or writing data. More... | |
typedef mitk::MessageAbstractDelegate1< float > | ProgressCallback |
![]() | |
static std::string | PROP_DESCRIPTION () |
Service property name for a description. More... | |
static std::string | PROP_MIMETYPE () |
Service property name for the mime-type associated with this file writer. More... | |
Base class for creating mitk::BaseData objects from files or streams.
Definition at line 42 of file mitkAbstractFileReader.h.
|
protected |
Definition at line 60 of file mitkAbstractFileReader.cpp.
|
overrideprotected |
Definition at line 61 of file mitkAbstractFileReader.cpp.
References UnregisterService().
|
protected |
Definition at line 73 of file mitkAbstractFileReader.cpp.
|
explicitprotected |
Associate this reader instance with the given MIME type.
If mimeType
does not provide an extension list, an already registered mime-type object is used. Otherwise, the first entry in the extensions list is used to construct a mime-type name and register it as a new CustomMimeType service object in the default implementation of RegisterMimeType().
mimeType | The mime type this reader can read. |
description | A human readable description of this reader. |
std::invalid_argument | if mimeType is empty. |
Definition at line 77 of file mitkAbstractFileReader.cpp.
|
overridevirtual |
Implements mitk::IFileIO.
Definition at line 271 of file mitkAbstractFileReader.cpp.
|
overridevirtual |
The confidence level of the reader or writer implementation.
The level is used to rank multiple competing implementations.
Implements mitk::IFileIO.
Reimplemented in mitk::BaseDICOMReaderService.
Definition at line 116 of file mitkAbstractFileReader.cpp.
References GetInputLocation(), mitk::IFileIO::Supported, and mitk::IFileIO::Unsupported.
Referenced by mitk::BaseDICOMReaderService::GetConfidenceLevel(), and mitk::AbstractFileIOReader::GetReaderConfidenceLevel().
|
protected |
Definition at line 244 of file mitkAbstractFileReader.cpp.
Referenced by mitk::AbstractFileIO::GetDefaultReaderOptions().
|
protected |
Definition at line 282 of file mitkAbstractFileReader.cpp.
Referenced by mitk::AbstractFileIO::GetReaderDescription(), and GetServiceProperties().
|
overridevirtual |
Get the current input location.
Implements mitk::IFileReader.
Definition at line 262 of file mitkAbstractFileReader.cpp.
Referenced by mitk::BaseDICOMReaderService::GetConfidenceLevel(), GetConfidenceLevel(), GetLocalFileName(), mitk::RandomForestFileIO::GetReaderConfidenceLevel(), mitk::ImageVtkXmlIO::Read(), mitk::SurfaceVtkXmlIO::Read(), mitk::DummyLsetFileReader::Read(), mitk::ExampleDataStructureReaderService::Read(), mitk::NavigationDataReaderXML::Read(), mitk::RandomForestFileIO::Read(), mitk::NavigationDataReaderCSV::Read(), mitk::ContourModelReader::Read(), mitk::ContourModelSetReader::Read(), mitk::DICOMSegmentationIO::Read(), mitk::RTDoseReaderService::Read(), mitk::RTPlanReaderService::Read(), mitk::RTStructureSetReaderService::Read(), and Read().
|
overridevirtual |
Get the input stream.
Implements mitk::IFileReader.
Definition at line 263 of file mitkAbstractFileReader.cpp.
Referenced by mitk::ImageVtkXmlIO::GetReaderConfidenceLevel(), mitk::SurfaceVtkXmlIO::GetReaderConfidenceLevel(), mitk::ImageVtkXmlIO::Read(), mitk::SurfaceVtkXmlIO::Read(), and mitk::NavigationDataReaderXML::Read().
|
protected |
Get a local file name for reading.
This is a convenience method for readers which cannot work natively with input streams. If no input stream has been been set, this method just returns the result of GetLocation(). However, if SetLocation(std::string, std::istream*) has been called with a non-null input stream, this method writes the contents of the stream to a temporary file and returns the name of the temporary file.
The temporary file is deleted when either SetLocation(std::string, std::istream*) is called again with a different input stream or the destructor of this class is called.
This method does not validate file names set via SetInput(std::string).
Definition at line 210 of file mitkAbstractFileReader.cpp.
References mitk::IOUtil::CreateTemporaryFile(), and GetInputLocation().
Referenced by mitk::ImageVtkLegacyIO::GetReaderConfidenceLevel(), mitk::SurfaceVtkLegacyIO::GetReaderConfidenceLevel(), mitk::MAPRegistrationWrapperIO::GetReaderConfidenceLevel(), mitk::RandomForestFileIO::GetReaderConfidenceLevel(), mitk::ItkImageIO::GetReaderConfidenceLevel(), mitk::LabelSetImageIO::GetReaderConfidenceLevel(), mitk::DICOMSegmentationIO::GetReaderConfidenceLevel(), mitk::BaseDICOMReaderService::GetRelevantFiles(), mitk::SurfaceStlIO::Read(), mitk::ImageVtkLegacyIO::Read(), mitk::SurfaceVtkLegacyIO::Read(), mitk::LegacyFileReaderService::Read(), mitk::MAPRegistrationWrapperIO::Read(), mitk::BaseDICOMReaderService::Read(), mitk::RawImageFileReaderService::Read(), mitk::ItkImageIO::Read(), mitk::LabelSetImageIO::Read(), mitk::DICOMSegmentationIO::Read(), and mitk::MAPRegistrationWrapperIO::Write().
|
protected |
Definition at line 279 of file mitkAbstractFileReader.cpp.
Referenced by mitk::AbstractFileIO::GetMimeType(), GetServiceProperties(), and RegisterService().
|
protected |
Definition at line 281 of file mitkAbstractFileReader.cpp.
Referenced by mitk::DummyLsetFileReader::DummyLsetFileReader(), and mitk::ItkImageIO::FixUpCustomMimeTypeName().
|
overridevirtual |
Implements mitk::IFileIO.
Definition at line 266 of file mitkAbstractFileReader.cpp.
Referenced by mitk::AbstractFileIO::GetReaderOption().
|
overridevirtual |
returns a list of the supported options
Options are strings that are treated as flags when passed to the write method.
Implements mitk::IFileIO.
Definition at line 265 of file mitkAbstractFileReader.cpp.
Referenced by mitk::AbstractFileIO::GetReaderOptions(), mitk::CESTDICOMReaderService::Read(), and mitk::RawImageFileReaderService::Read().
|
protected |
Definition at line 209 of file mitkAbstractFileReader.cpp.
Referenced by mitk::AbstractFileIO::GetReaderRanking(), and GetServiceProperties().
|
overridevirtual |
Implements mitk::IFileReader.
Definition at line 204 of file mitkAbstractFileReader.cpp.
References m_ReadFiles.
MimeType mitk::AbstractFileReader::GetRegisteredMimeType | ( | ) | const |
Definition at line 264 of file mitkAbstractFileReader.cpp.
Referenced by mitk::AbstractFileIO::RegisterService(), and SetDefaultDataNodeProperties().
|
protectedvirtual |
Definition at line 189 of file mitkAbstractFileReader.cpp.
References GetDescription(), GetMimeType(), mitk::CustomMimeType::GetName(), GetRanking(), mitk::IFileIO::PROP_DESCRIPTION(), mitk::IFileIO::PROP_MIMETYPE(), and us::ServiceConstants::SERVICE_RANKING().
Referenced by RegisterService().
|
overridepure virtual |
Reads a path or stream and creates a list of BaseData objects.
This method must be implemented for each specific reader. Call GetInputStream() first and check for a non-null stream to read from. If the input stream is nullptr
, use GetInputLocation() to read from a local file-system path.
If the reader cannot use streams directly, use GetLocalFileName() instead.
mitk::Exception |
Implements mitk::IFileReader.
Implemented in mitk::RTStructureSetReaderService, mitk::RTPlanReaderService, mitk::GeometryDataReaderService, mitk::RTDoseReaderService, mitk::PointSetReaderService, mitk::DICOMPMIO, mitk::DICOMSegmentationIO, mitk::ContourModelSetReader, mitk::ContourModelReader, mitk::LabelSetImageIO, mitk::ItkImageIO, mitk::NavigationDataReaderCSV, mitk::TubeGraphIO, mitk::RandomForestFileIO, mitk::RawImageFileReaderService, mitk::ExampleDataStructureReaderService, mitk::BaseDICOMReaderService, mitk::NavigationDataReaderXML, mitk::DummyLsetFileReader, mitk::USDeviceReaderXML, mitk::MAPRegistrationWrapperIO, mitk::CESTDICOMReaderService, mitk::LegacyFileReaderService, mitk::SurfaceVtkLegacyIO, mitk::SurfaceVtkXmlIO, mitk::ImageVtkLegacyIO, mitk::ImageVtkXmlIO, and mitk::SurfaceStlIO.
Definition at line 85 of file mitkAbstractFileReader.cpp.
References mitk::StandaloneDataStorage::New().
Referenced by Read().
|
overridevirtual |
Reads the specified file or input stream, loading its contents into the provided DataStorage.
ds | The DataStorage to which the data is added. |
ds
.This method may be overridden by implementations to create or reconstructed a hierarchy of mitk::DataNode instances in the provided mitk::DataStorage.
mitk::Exception |
Implements mitk::IFileReader.
Definition at line 101 of file mitkAbstractFileReader.cpp.
References mitk::DataStorage::Add(), GetInputLocation(), mitk::DataNode::New(), Read(), and SetDefaultDataNodeProperties().
|
protectedvirtual |
Registers a new CustomMimeType service object.
This method is called from RegisterService and the default implementation registers a new mime-type service object if all of the following conditions are true:
context |
std::invalid_argument | if context is nullptr. |
Definition at line 199 of file mitkAbstractFileReader.cpp.
us::ServiceRegistration< IFileReader > mitk::AbstractFileReader::RegisterService | ( | us::ModuleContext * | context = us::GetModuleContext() | ) |
Associate this reader with the MIME type returned by the current IMimeTypeProvider service for the provided extension if the MIME type exists, otherwise registers a new MIME type when RegisterService() is called.
If no MIME type for extension
is already registered, a call to RegisterService() will register a new MIME type and associate this reader instance with it. The MIME type id can be set via SetMimeType() or it will be auto-generated using extension
, having the form "application/vnd.mitk.<extension>".
extension | The file extension (without a leading period) for which a registered mime-type object is looked up and associated with this reader instance. |
description | A human readable description of this reader. |
Definition at line 135 of file mitkAbstractFileReader.cpp.
References GetMimeType(), us::GetModuleContext(), GetName(), GetServiceProperties(), and MITK_WARN.
Referenced by mitk::AutoSelectingDICOMReaderService::AutoSelectingDICOMReaderService(), mitk::CESTDICOMReaderService::CESTDICOMReaderService(), mitk::ClassicDICOMSeriesReaderService::ClassicDICOMSeriesReaderService(), mitk::ContourModelReader::ContourModelReader(), mitk::ContourModelSetReader::ContourModelSetReader(), mitk::DummyLsetFileReader::DummyLsetFileReader(), mitk::ExampleDataStructureReaderService::ExampleDataStructureReaderService(), mitk::GeometryDataReaderService::GeometryDataReaderService(), mitk::LegacyFileReaderService::LegacyFileReaderService(), mitk::NavigationDataReaderCSV::NavigationDataReaderCSV(), mitk::NavigationDataReaderXML::NavigationDataReaderXML(), mitk::PointSetReaderService::PointSetReaderService(), mitk::RawImageFileReaderService::RawImageFileReaderService(), mitk::AbstractFileIO::RegisterService(), mitk::RTDoseReaderService::RTDoseReaderService(), mitk::RTPlanReaderService::RTPlanReaderService(), mitk::RTStructureSetReaderService::RTStructureSetReaderService(), mitk::SimpleVolumeDICOMSeriesReaderService::SimpleVolumeDICOMSeriesReaderService(), and mitk::USDeviceReaderXML::USDeviceReaderXML().
|
overridevirtual |
Implements mitk::IFileIO.
Definition at line 272 of file mitkAbstractFileReader.cpp.
|
protectedvirtual |
Definition at line 283 of file mitkAbstractFileReader.cpp.
References mitk::DataNode::GetData(), mitk::DataNode::GetProperty(), mitk::BaseData::GetProperty(), GetRegisteredMimeType(), mitk::StringProperty::New(), mitk::DataNode::NO_NAME_VALUE(), mitk::StringProperty::PATH, mitk::DataNode::SetProperty(), and mitk::DataNode::SetVisibility().
Referenced by Read().
|
protected |
Definition at line 239 of file mitkAbstractFileReader.cpp.
Referenced by mitk::CESTDICOMReaderService::CESTDICOMReaderService(), mitk::RawImageFileReaderService::RawImageFileReaderService(), and mitk::AbstractFileIO::SetDefaultReaderOptions().
|
protected |
Definition at line 207 of file mitkAbstractFileReader.cpp.
Referenced by mitk::ContourModelReader::ContourModelReader(), mitk::ContourModelSetReader::ContourModelSetReader(), mitk::DummyLsetFileReader::DummyLsetFileReader(), mitk::LegacyFileReaderService::LegacyFileReaderService(), mitk::MAPRegistrationWrapperIO::MAPRegistrationWrapperIO(), and mitk::AbstractFileIO::SetReaderDescription().
|
overridevirtual |
Set the input location.
location | The file name to read from. |
Implements mitk::IFileReader.
Definition at line 245 of file mitkAbstractFileReader.cpp.
Referenced by mitk::ContourModelSetReader::Read().
|
overridevirtual |
Set an input stream to read from.
location | A custom label for the input stream. |
is | The input stream. |
If is
is nullptr
, this clears the current input stream and location
is interpreted as a file-system path. Otherwise, location
is a custom label describing the input stream is
.
Implements mitk::IFileReader.
Definition at line 251 of file mitkAbstractFileReader.cpp.
|
protected |
Definition at line 206 of file mitkAbstractFileReader.cpp.
Referenced by mitk::ContourModelReader::ContourModelReader(), mitk::ContourModelSetReader::ContourModelSetReader(), mitk::DummyLsetFileReader::DummyLsetFileReader(), mitk::ItkImageIO::ItkImageIO(), mitk::LegacyFileReaderService::LegacyFileReaderService(), mitk::MAPRegistrationWrapperIO::MAPRegistrationWrapperIO(), mitk::RandomForestFileIO::RandomForestFileIO(), and mitk::AbstractFileIO::SetMimeType().
|
protected |
Definition at line 280 of file mitkAbstractFileReader.cpp.
Referenced by mitk::ItkImageIO::ItkImageIO(), mitk::LegacyFileReaderService::LegacyFileReaderService(), and mitk::RandomForestFileIO::RandomForestFileIO().
|
overridevirtual |
Implements mitk::IFileIO.
Definition at line 268 of file mitkAbstractFileReader.cpp.
Referenced by mitk::AbstractFileIO::SetReaderOption().
|
overridevirtual |
Implements mitk::IFileIO.
Definition at line 267 of file mitkAbstractFileReader.cpp.
Referenced by mitk::AbstractFileIO::SetReaderOptions().
|
protected |
Set the service ranking for this file reader.
Default is zero and should only be chosen differently for a reason. The ranking is used to determine which reader to use if several equivalent readers have been found. It may be used to replace a default reader from MITK in your own project. E.g. if you want to use your own reader for nrrd files instead of the default, implement it and give it a higher ranking than zero.
Definition at line 208 of file mitkAbstractFileReader.cpp.
Referenced by mitk::AutoSelectingDICOMReaderService::AutoSelectingDICOMReaderService(), mitk::DICOMPMIO::DICOMPMIO(), mitk::DICOMSegmentationIO::DICOMSegmentationIO(), mitk::ItkImageIO::ItkImageIO(), mitk::LabelSetImageIO::LabelSetImageIO(), and mitk::AbstractFileIO::SetReaderRanking().
void mitk::AbstractFileReader::UnregisterService | ( | ) |
Definition at line 178 of file mitkAbstractFileReader.cpp.
Referenced by ~AbstractFileReader().
|
protected |
Definition at line 219 of file mitkAbstractFileReader.h.
Referenced by GetReadFiles(), and mitk::BaseDICOMReaderService::Read().