Slicer
4.11
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
|
#include <Base/QTCore/qSlicerCoreIOManager.h>
Properties | |
QString | defaultSceneFileType |
Public Slots | |
void | setDefaultSceneFileType (QString) |
Signals | |
void | newFileLoaded (const qSlicerIO::IOProperties &loadedFileParameters) |
Public Member Functions | |
Q_INVOKABLE void | addDefaultStorageNodes () |
Q_INVOKABLE QStringList | allReadableFileExtensions () const |
Q_INVOKABLE QStringList | allWritableFileExtensions () const |
Q_INVOKABLE QString | completeSlicerWritableFileNameSuffix (vtkMRMLStorableNode *node) const |
Q_INVOKABLE QString | defaultSceneFileType () const |
Defines the file format that should be offered by default when the scene is saved. More... | |
Q_INVOKABLE void | emitNewFileLoaded (const QVariantMap &loadedFileParameters) |
Q_INVOKABLE bool | examineFileInfoList (QFileInfoList &fileInfoList, QFileInfo &archetypeEntry, QString &readerDescription, qSlicerIO::IOProperties &ioProperties) const |
Q_INVOKABLE QStringList | fileDescriptions (const QString &file) const |
QStringList | fileDescriptionsByType (const qSlicerIO::IOFileType fileType) const |
qSlicerIOOptions * | fileOptions (const QString &fileDescription) const |
Return the file option associated with a file type. More... | |
Q_INVOKABLE qSlicerIO::IOFileType | fileType (const QString &file) const |
Return the file type associated with a file. More... | |
Q_INVOKABLE qSlicerIO::IOFileType | fileTypeFromDescription (const QString &fileDescription) const |
Q_INVOKABLE QList< qSlicerIO::IOFileType > | fileTypes (const QString &file) const |
Q_INVOKABLE QStringList | fileWriterDescriptions (const qSlicerIO::IOFileType &fileType) const |
Q_INVOKABLE QStringList | fileWriterExtensions (vtkObject *object) const |
Q_INVOKABLE qSlicerIO::IOFileType | fileWriterFileType (vtkObject *object, const QString &format=QString()) const |
Return the file type associated with an VTK object. More... | |
qSlicerIOOptions * | fileWriterOptions (vtkObject *object, const QString &extension) const |
Q_INVOKABLE bool | loadFile (const QString &fileName, vtkMRMLMessageCollection *userMessages=nullptr) |
virtual Q_INVOKABLE bool | loadNodes (const qSlicerIO::IOFileType &fileType, const qSlicerIO::IOProperties ¶meters, vtkCollection *loadedNodes=nullptr, vtkMRMLMessageCollection *userMessages=nullptr) |
virtual bool | loadNodes (const QList< qSlicerIO::IOProperties > &files, vtkCollection *loadedNodes=nullptr, vtkMRMLMessageCollection *userMessages=nullptr) |
vtkMRMLNode * | loadNodesAndGetFirst (qSlicerIO::IOFileType fileType, const qSlicerIO::IOProperties ¶meters, vtkMRMLMessageCollection *userMessages=nullptr) |
Q_INVOKABLE bool | loadScene (const QString &fileName, bool clear=true, vtkMRMLMessageCollection *userMessages=nullptr) |
qSlicerCoreIOManager (QObject *parent=nullptr) | |
void | registerIO (qSlicerIO *io) |
Q_INVOKABLE bool | saveNodes (qSlicerIO::IOFileType fileType, const qSlicerIO::IOProperties ¶meters, vtkMRMLMessageCollection *userMessages=nullptr) |
Q_INVOKABLE bool | saveScene (const QString &fileName, QImage screenShot, vtkMRMLMessageCollection *userMessages=nullptr) |
~qSlicerCoreIOManager () override | |
Static Public Member Functions | |
static Q_INVOKABLE vtkMRMLStorageNode * | createAndAddDefaultStorageNode (vtkMRMLStorableNode *node) |
Create and add default storage node. More... | |
Protected Member Functions | |
qSlicerFileReader * | reader (const QString &ioDescription) const |
const QList< qSlicerFileReader * > & | readers () const |
Returns the list of registered readers. More... | |
QList< qSlicerFileReader * > | readers (const qSlicerIO::IOFileType &fileType) const |
Returns the list of registered readers or writers associated with fileType. More... | |
const QList< qSlicerFileWriter * > & | writers () const |
Returns the list of registered writers. More... | |
QList< qSlicerFileWriter * > | writers (const qSlicerIO::IOFileType &fileType) const |
Returns the list of registered writers for a given fileType. More... | |
Protected Attributes | |
QScopedPointer< qSlicerCoreIOManagerPrivate > | d_ptr |
Definition at line 48 of file qSlicerCoreIOManager.h.
|
readwrite |
Definition at line 50 of file qSlicerCoreIOManager.h.
qSlicerCoreIOManager::qSlicerCoreIOManager | ( | QObject * | parent = nullptr | ) |
|
override |
Q_INVOKABLE void qSlicerCoreIOManager::addDefaultStorageNodes | ( | ) |
Create default storage nodes for all storable nodes that are to be saved with the scene and do not have a storage node already File name is set based on node name, using use default file extension, with special characters in the node name percent-encoded. This method can be used to ensure a storage node exists before writing a storable node to file by calling storableNode->GetStorageNode()->WriteData(storableNode).
Q_INVOKABLE QStringList qSlicerCoreIOManager::allReadableFileExtensions | ( | ) | const |
Return a string list of all the readable file extensions for all registered types of storage nodes. Includes the leading dot.
Q_INVOKABLE QStringList qSlicerCoreIOManager::allWritableFileExtensions | ( | ) | const |
Return a string list of all the writable file extensions for all registered types of storage nodes. Includes the leading dot.
Q_INVOKABLE QString qSlicerCoreIOManager::completeSlicerWritableFileNameSuffix | ( | vtkMRMLStorableNode * | node | ) | const |
Returns a full extension for this storable node that is recognised by Slicer IO. Consults the storage node for a list of known suffixes, if no match is found and the .* extension exists, return the Qt completeSuffix string. If .* is not in the complete list of known suffixes, returns an empty suffix. Always includes the leading dot.
|
static |
Create and add default storage node.
Q_INVOKABLE QString qSlicerCoreIOManager::defaultSceneFileType | ( | ) | const |
Defines the file format that should be offered by default when the scene is saved.
Q_INVOKABLE void qSlicerCoreIOManager::emitNewFileLoaded | ( | const QVariantMap & | loadedFileParameters | ) |
This function should be used from python scripted module willing to interface with the qSlicerCoreIOManager. It will emit the signal newFileLoaded().
Q_INVOKABLE bool qSlicerCoreIOManager::examineFileInfoList | ( | QFileInfoList & | fileInfoList, |
QFileInfo & | archetypeEntry, | ||
QString & | readerDescription, | ||
qSlicerIO::IOProperties & | ioProperties | ||
) | const |
Iterates through readers looking at the fileInfoList to see if there is an entry that can serve as an archetype for loading multiple fileInfos. If so, the reader removes the recognized fileInfos from the list and sets the ioProperties so that the corresponding loader will read these files. The archetypeEntry will contain the fileInfo for the archetype and the method returns true. If no pattern is recognized the method returns false. The specific motivating use case is when the file list contains a set of related files, such as a list of image files that are recognized as a volume. But other cases could also make sense, such as when a file format has a set or related files such as textures or material files for a surface model.
Q_INVOKABLE QStringList qSlicerCoreIOManager::fileDescriptions | ( | const QString & | file | ) | const |
Return the file description associated with a file Usually the description is a short text of one or two words e.g. Volume, Model, ...
QStringList qSlicerCoreIOManager::fileDescriptionsByType | ( | const qSlicerIO::IOFileType | fileType | ) | const |
qSlicerIOOptions* qSlicerCoreIOManager::fileOptions | ( | const QString & | fileDescription | ) | const |
Return the file option associated with a file type.
Q_INVOKABLE qSlicerIO::IOFileType qSlicerCoreIOManager::fileType | ( | const QString & | file | ) | const |
Return the file type associated with a file.
Q_INVOKABLE qSlicerIO::IOFileType qSlicerCoreIOManager::fileTypeFromDescription | ( | const QString & | fileDescription | ) | const |
Q_INVOKABLE QList<qSlicerIO::IOFileType> qSlicerCoreIOManager::fileTypes | ( | const QString & | file | ) | const |
Q_INVOKABLE QStringList qSlicerCoreIOManager::fileWriterDescriptions | ( | const qSlicerIO::IOFileType & | fileType | ) | const |
Q_INVOKABLE QStringList qSlicerCoreIOManager::fileWriterExtensions | ( | vtkObject * | object | ) | const |
Q_INVOKABLE qSlicerIO::IOFileType qSlicerCoreIOManager::fileWriterFileType | ( | vtkObject * | object, |
const QString & | format = QString() |
||
) | const |
Return the file type associated with an VTK object.
qSlicerIOOptions* qSlicerCoreIOManager::fileWriterOptions | ( | vtkObject * | object, |
const QString & | extension | ||
) | const |
Q_INVOKABLE bool qSlicerCoreIOManager::loadFile | ( | const QString & | fileName, |
vtkMRMLMessageCollection * | userMessages = nullptr |
||
) |
Convenient function to load a file. All the options (e.g. filetype) are chosen by default. If a valid pointer is passed to userMessages additional error or warning information may be returned in it.
|
virtual |
Load a list of nodes corresponding to fileType. A given fileType corresponds to a specific reader qSlicerIO. A map of qvariant allows to specify which parameters should be passed to the reader. The function return 0 if it fails. The map associated with most of the fileType should contains either fileName (QString or QStringList) or fileNames (QStringList). More specific parameters could also be set. For example, the volume reader qSlicerVolumesIO could also be called with the following parameters: LabelMap (bool), Center (bool) If a valid pointer is passed to userMessages additional error or warning information may be returned in it.
Reimplemented in qSlicerIOManager.
|
virtual |
Utility function that loads a bunch of files. The "fileType" attribute should in the parameter map for each node to load. If a valid pointer is passed to userMessages additional error or warning information may be returned in it.
Reimplemented in qSlicerIOManager.
vtkMRMLNode* qSlicerCoreIOManager::loadNodesAndGetFirst | ( | qSlicerIO::IOFileType | fileType, |
const qSlicerIO::IOProperties & | parameters, | ||
vtkMRMLMessageCollection * | userMessages = nullptr |
||
) |
Load a list of node corresponding to fileType and return the first loaded node. This function is provided for convenience and is equivalent to call loadNodes with a vtkCollection parameter and retrieve the first element. If a valid pointer is passed to userMessages additional error or warning information may be returned in it.
Q_INVOKABLE bool qSlicerCoreIOManager::loadScene | ( | const QString & | fileName, |
bool | clear = true , |
||
vtkMRMLMessageCollection * | userMessages = nullptr |
||
) |
Load/import a scene corresponding to fileName This function is provided for convenience and is equivalent to call loadNodes function with QString("SceneFile"). If a valid pointer is passed to userMessages additional error or warning information may be returned in it.
|
signal |
This signal is emitted each time a file is loaded using loadNodes() The loadedFileParameters QVariant map contains the parameters passed to the reader and also the fileType and nodeIDs keys respectively associated with a QString and a QStringList.
|
protected |
|
protected |
Returns the list of registered readers.
|
protected |
Returns the list of registered readers or writers associated with fileType.
void qSlicerCoreIOManager::registerIO | ( | qSlicerIO * | io | ) |
Register the reader/writer io Note also that the IOManager takes ownership of io
Q_INVOKABLE bool qSlicerCoreIOManager::saveNodes | ( | qSlicerIO::IOFileType | fileType, |
const qSlicerIO::IOProperties & | parameters, | ||
vtkMRMLMessageCollection * | userMessages = nullptr |
||
) |
Save nodes (or scene) using the registered writers. Return true on success, false otherwise. Attributes are typically: For all: QString fileName (or QStringList fileNames) For nodes: QString nodeID, bool useCompression If a valid pointer is passed to userMessages additional error or warning information may be returned in it.
Q_INVOKABLE bool qSlicerCoreIOManager::saveScene | ( | const QString & | fileName, |
QImage | screenShot, | ||
vtkMRMLMessageCollection * | userMessages = nullptr |
||
) |
Save a scene corresponding to fileName This function is provided for convenience and is equivalent to call saveNodes function with QString("SceneFile") with the fileName and screenShot set as properties. If a valid pointer is passed to userMessages additional error or warning information may be returned in it.
|
slot |
Defines the file format that should be offered by default when the scene is saved. Valid options are defined in qSlicerSceneWriter (for example, "MRML Scene (.mrml)" or "Medical Reality Bundle (.mrb)").
|
protected |
Returns the list of registered writers.
|
protected |
Returns the list of registered writers for a given fileType.
|
protected |
Definition at line 223 of file qSlicerCoreIOManager.h.