Slicer  5.0
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
List of all members | Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
vtkMRMLStorageNode Class Referenceabstract

A superclass for other storage nodes. More...

#include <Libs/MRML/Core/vtkMRMLStorageNode.h>

Inheritance diagram for vtkMRMLStorageNode:
Inheritance graph
[legend]
Collaboration diagram for vtkMRMLStorageNode:
Collaboration graph
[legend]

Classes

struct  CompressionPreset
 

Public Types

enum  {
  Idle, Pending, Scheduled, Transferring,
  TransferDone, Cancelled, SkippedNoData
}
 
enum  {
  CoordinateSystemRAS = 0, RAS = 0, CoordinateSystemLPS = 1, LPS = 1,
  CoordinateSystemType_Last
}
 
typedef vtkMRMLNode Superclass
 
- Public Types inherited from vtkMRMLNode
enum  {
  HierarchyModifiedEvent = 16000, IDChangedEvent = 16001, ReferenceAddedEvent, ReferenceModifiedEvent,
  ReferenceRemovedEvent, ReferencedNodeModifiedEvent
}
 
typedef vtkObject Superclass
 

Public Member Functions

unsigned int AddFileName (const char *fileName)
 
Add in another file name to the list of file names More...
 
unsigned int AddURI (const char *uri)
 
Add in another URI to the list of URI's More...
 
virtual bool CanReadInReferenceNode (vtkMRMLNode *refNode)=0
 
virtual bool CanWriteFromReferenceNode (vtkMRMLNode *refNode)
 
virtual void ConfigureForDataExchange ()
 
void Copy (vtkMRMLNode *node) override
 
Copy the node's attributes to this object More...
 
vtkMRMLNodeCreateNodeInstance () override=0
 Create instance of the default node. Like New only virtual. More...
 
int FileNameIsInList (const char *fileName)
 
const char * GetAbsoluteFilePath (const char *inputPath)
 
virtual const char * GetClassName ()
 
virtual std::string GetCompressionParameter ()
 
virtual std::string GetCompressionParameterFromDisplayName (const std::string &name)
 Returns a string representing the specified preset. More...
 
virtual std::vector< std::string > GetCompressionPresetDisplayNames ()
 Returns a list of displayable names of the supported compression presets. More...
 
virtual const std::vector< CompressionPresetGetCompressionPresets ()
 Get a list of all supported compression presets. More...
 
virtual const char * GetDefaultWriteFileExtension ()
 
Return default file extension for writing. More...
 
virtual std::string GetDisplayNameFromCompressionParameter (const std::string &preset)
 Returns the name of the specified preset. More...
 
virtual void GetFileExtensionsFromFileTypes (vtkStringArray *inputFileTypes, vtkStringArray *outputFileExtensions)
 
virtual char * GetFileName ()
 
std::string GetFileNameWithoutExtension (const char *fileName=nullptr)
 
std::string GetFullNameFromFileName ()
 
std::string GetFullNameFromNthFileName (int n)
 
const char * GetNodeTagName () override=0
 
Get node XML tag name (like Storage, Model) More...
 
const char * GetNthFileName (int n) const
 
return the nth file name, null if doesn't exist More...
 
const char * GetNthURI (int n)
 
Get the nth URI from the list of URI's More...
 
virtual int GetNumberOfCompressionPresets ()
 Get the number of compression presets. More...
 
int GetNumberOfFileNames () const
 
See how many file names were generated during ExecuteInformation More...
 
int GetNumberOfURIs ()
 
Return how many uri names this storage node holds in it's list More...
 
virtual int GetReadState ()
 Get/Set the state of reading. More...
 
const char * GetReadStateAsString ()
 
const char * GetStateAsString (int state)
 
virtual vtkMRMLStorableNodeGetStorableNode ()
 
vtkTimeStamp GetStoredTime ()
 
virtual std::string GetSupportedFileExtension (const char *fileName=nullptr, bool includeReadable=true, bool includeWriteable=true)
 
virtual vtkStringArray * GetSupportedReadFileTypes ()
 
virtual vtkStringArray * GetSupportedWriteFileTypes ()
 
virtual char * GetTempFileName ()
 
virtual char * GetURI ()
 
virtual vtkURIHandlerGetURIHandler ()
 
virtual int GetUseCompression ()
 
const vtkMRMLMessageCollectionGetUserMessages () const
 
vtkMRMLMessageCollectionGetUserMessages ()
 
virtual char * GetWriteFileFormat ()
 
virtual int GetWriteState ()
 
Get/Set the state of writing More...
 
const char * GetWriteStateAsString ()
 
void InvalidateFile ()
 
virtual int IsA (const char *type)
 
int IsFilePathRelative (const char *filepath)
 
void PrintSelf (ostream &os, vtkIndent indent) override
 
void ProcessMRMLEvents (vtkObject *caller, unsigned long event, void *callData) override
 
Propagate Progress Event generated in ReadData More...
 
virtual int ReadData (vtkMRMLNode *refNode, bool temporaryFile=false)
 
void ReadXMLAttributes (const char **atts) override
 
Read node attributes from XML file More...
 
void ResetFileNameList ()
 
Clear the array of file names More...
 
void ResetNthFileName (int n, const char *fileName)
 
Set the nth file in FileNameList, checks that it is already defined More...
 
void ResetNthURI (int n, const char *uri)
 
Set the nth uri in URIList, checks that it is already defined More...
 
void ResetURIList ()
 
Clear the array of URIs More...
 
virtual void SetCompressionParameter (std::string)
 Compression parameter that is used to save the node. More...
 
void SetDataDirectory (const char *dataDirName)
 
Set a new data directory for all files More...
 
virtual void SetDefaultWriteFileExtension (const char *ext)
 
virtual void SetFileName (const char *)
 
virtual void SetReadState (int)
 
void SetReadStateCancelled ()
 
void SetReadStateIdle ()
 
void SetReadStatePending ()
 
void SetReadStateScheduled ()
 
void SetReadStateSkippedNoData ()
 
void SetReadStateTransferDone ()
 
void SetReadStateTransferring ()
 
virtual void SetTempFileName (const char *)
 
A temporary file name used to calculate absolute paths More...
 
virtual void SetURI (const char *)
 
Location of the remote copy of this file. More...
 
virtual void SetURIHandler (vtkURIHandler *uriHandler)
 
void SetURIPrefix (const char *uriPrefix)
 
Set a new URI base for all URI's More...
 
virtual void SetUseCompression (int)
 
virtual void SetWriteFileFormat (const char *)
 
Allow to set specific file format that this node will write output. More...
 
virtual void SetWriteState (int)
 
void SetWriteStateCancelled ()
 
void SetWriteStateIdle ()
 
void SetWriteStatePending ()
 
void SetWriteStateScheduled ()
 
void SetWriteStateSkippedNoData ()
 
void SetWriteStateTransferDone ()
 
void SetWriteStateTransferring ()
 
virtual int SupportedFileType (const char *fileName)
 
virtual void UseCompressionOff ()
 
virtual void UseCompressionOn ()
 
Use compression on write More...
 
virtual int WriteData (vtkMRMLNode *refNode)
 
void WriteXML (ostream &of, int indent) override
 
Write this node's information to a MRML file in XML format. More...
 
- Public Member Functions inherited from vtkMRMLNode
vtkMRMLNodeAddAndObserveNodeReferenceID (const char *referenceRole, const char *referencedNodeID, vtkIntArray *events=nullptr)
 Add and observe a reference node from this node for a specific referenceRole. More...
 
vtkMRMLNodeAddNodeReferenceID (const char *referenceRole, const char *referencedNodeID)
 Convenience method that adds a referencedNodeID at the end of the list. More...
 
void AddNodeReferenceRole (const char *referenceRole, const char *mrmlAttributeName=nullptr, vtkIntArray *events=nullptr)
 Add a referenceRole. More...
 
virtual void AddToSceneOff ()
 
virtual void AddToSceneOn ()
 
virtual void CopyContent (vtkMRMLNode *node, bool deepCopy=true)
 Copy node contents from another node of the same type. Does not copy node ID, Scene, Name, SingletonTag, HideFromEditors, AddToScene, UndoEnabled, and node references. If deepCopy is set to false then a shallow copy of bulk data (such as image or mesh data) could be made; copying may be faster but the node may share some data with the source node instead of creating an independent copy. More...
 
virtual void CopyReferences (vtkMRMLNode *node)
 Copy the references of the node into this. More...
 
void CopyWithScene (vtkMRMLNode *node)
 Copy everything (including Scene and ID) from another node of the same type. More...
 
void DisableModifiedEventOff ()
 
void DisableModifiedEventOn ()
 
virtual int EndModify (int previousDisableModifiedEventState)
 End modifying the node. More...
 
virtual int GetAddToScene ()
 node added to MRML scene. More...
 
const char * GetAttribute (const char *name)
 Get value of a name value pair attribute. More...
 
std::vector< std::string > GetAttributeNames ()
 Get all attribute names. More...
 
void GetAttributeNames (vtkStringArray *attributeNames)
 Get all attribute names. Python-wrappable version. More...
 
virtual vtkIntArray * GetContentModifiedEvents ()
 
int GetCustomModifiedEventPending (int eventId)
 
virtual char * GetDescription ()
 
virtual int GetDisableModifiedEvent ()
 Turn on/off generating InvokeEvent for set macros. More...
 
virtual int GetHideFromEditors ()
 Describes if the node is hidden. More...
 
virtual char * GetID ()
 ID use by other nodes to reference this node in XML. More...
 
virtual int GetInMRMLCallbackFlag ()
 Flags to avoid event loops. More...
 
virtual int GetModifiedEventPending ()
 
virtual char * GetName ()
 
vtkMRMLNodeGetNodeReference (const char *referenceRole)
 
const char * GetNodeReferenceID (const char *referenceRole)
 Utility function that returns the first node id for a specific referenceRole. More...
 
void GetNodeReferenceIDs (const char *referenceRole, std::vector< const char *> &referencedNodeIDs)
 Return a list of the referenced node IDs. More...
 
void GetNodeReferenceRoles (std::vector< std::string > &roles)
 
void GetNodeReferences (const char *referenceRole, std::vector< vtkMRMLNode *> &nodes)
 Return a list of the referenced nodes. More...
 
vtkMRMLNodeGetNthNodeReference (const char *referenceRole, int n)
 Get referenced MRML node for a specific referenceRole. More...
 
const char * GetNthNodeReferenceID (const char *referenceRole, int n)
 Return the string of the Nth node ID for a specific reference role. More...
 
const char * GetNthNodeReferenceRole (int n)
 
int GetNumberOfNodeReferenceRoles ()
 
int GetNumberOfNodeReferences (const char *referenceRole)
 Return the number of node IDs for a specific reference role (and nodes as they always have the same size). More...
 
virtual int GetSaveWithScene ()
 Save node with MRML scene. More...
 
virtual vtkMRMLSceneGetScene ()
 Get the scene this node has been added to. More...
 
virtual int GetSelectable ()
 Describes if the node is selectable. More...
 
virtual int GetSelected ()
 Get/Set for Selected. More...
 
virtual char * GetSingletonTag ()
 
virtual const char * GetTypeDisplayName ()
 
virtual bool GetUndoEnabled ()
 
virtual bool HasCopyContent () const
 Returns true if the class supports deep and shallow copying node content. More...
 
bool HasNodeReferenceID (const char *referenceRole, const char *referencedNodeID)
 Return true if referencedNodeID is in the node ID list for a specific referenceRole. More...
 
virtual void HideFromEditorsOff ()
 
virtual void HideFromEditorsOn ()
 
virtual void InvokeCustomModifiedEvent (int eventId, void *callData=nullptr)
 This method allows the node to compress events. More...
 
virtual int InvokePendingModifiedEvent ()
 Invokes any modified events that are pending. More...
 
bool IsSingleton ()
 
void Modified () override
 Customized version of Modified() allowing to compress vtkCommand::ModifiedEvent. More...
 
virtual void OnNodeAddedToScene ()
 
void PrintSelf (ostream &os, vtkIndent indent) override
 
virtual void ProcessChildNode (vtkMRMLNode *)
 Set dependencies between this node and a child node when parsing XML file. More...
 
void RemoveAttribute (const char *name)
 Remove attribute with the specified name. More...
 
void RemoveNodeReferenceIDs (const char *referenceRole)
 Remove all node IDs and associated nodes for a specific referenceRole. More...
 
void RemoveNthNodeReferenceID (const char *referenceRole, int n)
 Convenience method that removes the Nth node ID from the list. More...
 
virtual void Reset (vtkMRMLNode *defaultNode)
 Reset node attributes to the initial state as defined in the constructor or the passed default node. More...
 
virtual void SaveWithSceneOff ()
 
virtual void SaveWithSceneOn ()
 
virtual void SelectableOff ()
 
virtual void SelectableOn ()
 
virtual void SelectedOff ()
 
virtual void SelectedOn ()
 
virtual void SetAddToScene (int)
 
void SetAddToSceneNoModify (int value)
 
vtkMRMLNodeSetAndObserveNodeReferenceID (const char *referenceRole, const char *referencedNodeID, vtkIntArray *events=nullptr)
 Set and observe a reference node from this node for a specific referenceRole. More...
 
vtkMRMLNodeSetAndObserveNthNodeReferenceID (const char *referenceRole, int n, const char *referencedNodeID, vtkIntArray *events=nullptr)
 Set and observe the Nth node ID for a specific reference role. More...
 
void SetAttribute (const char *name, const char *value)
 Set a name value pair attribute. More...
 
virtual void SetDescription (const char *)
 Text description of this node, to be set by the user. More...
 
void SetDisableModifiedEvent (int onOff)
 
virtual void SetHideFromEditors (int)
 
void SetInMRMLCallbackFlag (int flag)
 
virtual void SetName (const char *)
 Name of this node, to be set by the user. More...
 
vtkMRMLNodeSetNodeReferenceID (const char *referenceRole, const char *referencedNodeID)
 Set a reference to a node with specified nodeID from this node for a specific referenceRole. More...
 
vtkMRMLNodeSetNthNodeReferenceID (const char *referenceRole, int n, const char *referencedNodeID)
 Set a N-th reference from this node with specified referencedNodeID for a specific referenceRole. More...
 
virtual void SetSaveWithScene (int)
 
virtual void SetScene (vtkMRMLScene *scene)
 This method is for internal use only. Use AddNode method of vtkMRMLScene to add a node to the scene. More...
 
virtual void SetSceneReferences ()
 Update the references of the node to the scene. More...
 
virtual void SetSelectable (int)
 
virtual void SetSelected (int)
 
void SetSingletonOff ()
 
void SetSingletonOn ()
 
virtual void SetSingletonTag (const char *)
 Tag that make this node a singleton in the scene. More...
 
virtual void SetUndoEnabled (bool)
 
virtual int StartModify ()
 Start modifying the node. Disable Modify events. More...
 
virtual void UndoEnabledOff ()
 
virtual void UndoEnabledOn ()
 
virtual void UpdateReferenceID (const char *oldID, const char *newID)
 Update the stored reference to another node in the scene. More...
 
virtual void UpdateReferences ()
 The method should remove all pointers and observations to all nodes that are not in the scene anymore. More...
 
virtual void UpdateScene (vtkMRMLScene *)
 
const char * URLDecodeString (const char *inString)
 Decode a URL string. More...
 
const char * URLEncodeString (const char *inString)
 Encode a URL string. More...
 
virtual void WriteNodeBodyXML (ostream &of, int indent)
 Write this node's body to a MRML file in XML format. More...
 
std::string XMLAttributeDecodeString (const std::string &inString)
 Decode an XML attribute string. More...
 
std::string XMLAttributeEncodeString (const std::string &inString)
 Encode an XML attribute string (replaces special characters by code sequences) More...
 

Static Public Member Functions

static const char * GetCoordinateSystemTypeAsString (int id)
 
Convert between coordinate system ID and name More...
 
static int GetCoordinateSystemTypeFromString (const char *name)
 
static std::string GetLowercaseExtensionFromFileName (const std::string &filename)
 
static int IsTypeOf (const char *type)
 
static vtkMRMLStorageNodeSafeDownCast (vtkObject *o)
 
- Static Public Member Functions inherited from vtkMRMLNode
static int IsTypeOf (const char *type)
 
static vtkMRMLNodeSafeDownCast (vtkObject *o)
 

Protected Member Functions

virtual void InitializeSupportedReadFileTypes ()
 
virtual void InitializeSupportedWriteFileTypes ()
 
void operator= (const vtkMRMLStorageNode &)
 
virtual int ReadDataInternal (vtkMRMLNode *refNode)
 
void StageReadData (vtkMRMLNode *refNode)
 
void StageWriteData (vtkMRMLNode *refNode)
 
virtual void UpdateCompressionPresets ()
 
 vtkMRMLStorageNode ()
 
 vtkMRMLStorageNode (const vtkMRMLStorageNode &)
 
virtual int WriteDataInternal (vtkMRMLNode *refNode)
 
 ~vtkMRMLStorageNode () override
 
- Protected Member Functions inherited from vtkMRMLNode
virtual const char * GetMRMLAttributeNameFromReferenceRole (const char *refRole)
 Return the mrml attribute name (if found) associated with a reference role. Return 0 otherwise. More...
 
virtual const char * GetReferenceRoleFromMRMLAttributeName (const char *attName)
 Return the reference role (if found) associated with the attribute name found in a MRML scene file. Return 0 otherwise. More...
 
virtual char * GetTempURLString ()
 
void GetUpdatedReferencedNodeEventList (int &oldReferencedNodeUseCount, int &newReferencedNodeUseCount, vtkIntArray *oldConsolidatedEventList, vtkIntArray *newConsolidatedEventList, vtkMRMLNode *oldReferencedNode, vtkMRMLNode *newReferencedNode, vtkMRMLNodeReference *referenceToIgnore, vtkIntArray *newEvents)
 
virtual void InvalidateNodeReferences ()
 
virtual bool IsReferenceRoleGeneric (const char *refRole)
 Return true if the reference role is generic (ends with '/') or false otherwise. More...
 
virtual void OnNodeReferenceAdded (vtkMRMLNodeReference *reference)
 
virtual void OnNodeReferenceModified (vtkMRMLNodeReference *reference)
 Called when a referenced node pointer is modified. More...
 
virtual void OnNodeReferenceRemoved (vtkMRMLNodeReference *reference)
 Called when a referenced node pointer is removed (set to nullptr). More...
 
void operator= (const vtkMRMLNode &)
 
void ParseReferencesAttribute (const char *attValue, std::set< std::string > &references)
 
void RemoveInvalidReferences (const std::set< std::string > &validNodeIDs)
 
virtual void SetTempURLString (const char *)
 Get/Set the string used to manage encoding/decoding of strings/URLs with special characters. More...
 
vtkMRMLNodeUpdateNodeReferenceEventObserver (vtkMRMLNode *oldReferencedNode, vtkMRMLNode *newReferencedNode, vtkIntArray *newEvents, vtkMRMLNodeReference *referenceToIgnore)
 
virtual void UpdateNodeReferences (const char *referenceRole=nullptr)
 
virtual void UpdateNthNodeReference (const char *referenceRole, int n)
 
 vtkMRMLNode ()
 
 vtkMRMLNode (const vtkMRMLNode &)
 
 ~vtkMRMLNode () override
 critical to have a virtual destructor! More...
 

Protected Attributes

std::string CompressionParameter
 
std::vector< CompressionPresetCompressionPresets
 
std::string DefaultWriteFileExtension
 List of supported extensions to write in. More...
 
char * FileName
 
std::vector< std::string > FileNameList
 
An array of file names, should contain the FileName but may not More...
 
vtkWeakPointer< vtkMRMLStorableNodeLastFoundStorableNode
 
int ReadState
 
vtkTimeStamp * StoredTime
 
vtkStringArray * SupportedReadFileTypes
 List of supported extensions to read in. More...
 
vtkStringArray * SupportedWriteFileTypes
 
char * TempFileName
 
char * URI
 
vtkURIHandlerURIHandler
 
std::vector< std::string > URIList
 
An array of URI's, should contain the URI but may not More...
 
int UseCompression
 
vtkMRMLMessageCollectionUserMessages
 
char * WriteFileFormat
 
int WriteState
 
- Protected Attributes inherited from vtkMRMLNode
int AddToScene {1}
 
AttributesType Attributes
 
vtkIntArray * ContentModifiedEvents
 
char * Description {nullptr}
 
int HideFromEditors {0}
 
char * ID {nullptr}
 
int InMRMLCallbackFlag {0}
 
Flag to avoid event loops More...
 
vtkCallbackCommand * MRMLCallbackCommand
 Holders for MRML callbacks. More...
 
vtkObserverManagerMRMLObserverManager
 
char * Name {nullptr}
 
NodeReferenceEventsType NodeReferenceEvents
 
std::map< std::string, std::string > NodeReferenceMRMLAttributeNames
 
NodeReferencesType NodeReferences
 
int SaveWithScene {true}
 
vtkWeakPointer< vtkMRMLSceneScene
 
int Selectable {1}
 
int Selected {0}
 
bool UndoEnabled {false}
 

Additional Inherited Members

- Protected Types inherited from vtkMRMLNode
typedef std::map< std::string, std::string > AttributesType
 
typedef std::map< std::string, vtkSmartPointer< vtkIntArray > > NodeReferenceEventsType
 
typedef std::vector< vtkSmartPointer< vtkMRMLNodeReference > > NodeReferenceListType
 
typedef std::map< std::string, NodeReferenceListTypeNodeReferencesType
 
- Static Protected Member Functions inherited from vtkMRMLNode
static void MRMLCallback (vtkObject *caller, unsigned long eid, void *clientData, void *callData)
 

Detailed Description

A superclass for other storage nodes.

A superclass for other storage nodes like volume and model.

Definition at line 35 of file vtkMRMLStorageNode.h.

Member Typedef Documentation

◆ Superclass

Definition at line 38 of file vtkMRMLStorageNode.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Possible Read and Write states Idle: not currently working on any data, ready for the next transfer Pending: the data is remote, waiting for a transfer to be scheduled Scheduled: the data is remote, and is scheduled for download Transferring: data is remote, and the transfer is working to completion TransferDone: the data is on disk and ready to be read Cancelled: the user cancelled the remote data transfer SkippedNoData: writing or reading was skipped due to data not present. This is a valid state used if and only if the data node is empty and there is nothing to be written or read.

Enumerator
Idle 
Pending 
Scheduled 
Transferring 
TransferDone 
Cancelled 
SkippedNoData 

Definition at line 126 of file vtkMRMLStorageNode.h.

◆ anonymous enum

anonymous enum

Coordinate system options LPS coordinate system is used the most commonly in medical image computing. Slicer is moving towards using this coordinate system in all files by default (while keep using RAS coordinate system internally). RAS coordinate system is used in Slicer internally. For many years, Slicer used this coordinate system in files that it created, too.

Enumerator
CoordinateSystemRAS 
RAS 

for backward compatibility

CoordinateSystemLPS 
LPS 

for backward compatibility

CoordinateSystemType_Last 

Definition at line 361 of file vtkMRMLStorageNode.h.

Constructor & Destructor Documentation

◆ vtkMRMLStorageNode() [1/2]

vtkMRMLStorageNode::vtkMRMLStorageNode ( )
protected

◆ ~vtkMRMLStorageNode()

vtkMRMLStorageNode::~vtkMRMLStorageNode ( )
overrideprotected

◆ vtkMRMLStorageNode() [2/2]

vtkMRMLStorageNode::vtkMRMLStorageNode ( const vtkMRMLStorageNode )
protected

Member Function Documentation

◆ AddFileName()

unsigned int vtkMRMLStorageNode::AddFileName ( const char *  fileName)


Add in another file name to the list of file names

◆ AddURI()

unsigned int vtkMRMLStorageNode::AddURI ( const char *  uri)


Add in another URI to the list of URI's

◆ CanReadInReferenceNode()

virtual bool vtkMRMLStorageNode::CanReadInReferenceNode ( vtkMRMLNode refNode)
pure virtual

◆ CanWriteFromReferenceNode()

virtual bool vtkMRMLStorageNode::CanWriteFromReferenceNode ( vtkMRMLNode refNode)
virtual

Return true if the node can be written from. Used by WriteData to know if the file can be written from the reference node. By default it returns the same than CanReadInReferenceNode. Subclasses can reimplement the method.

See also
CanReadInReferenceNode, WriteData

Reimplemented in vtkMRMLVolumeHeaderlessStorageNode, vtkMRMLVolumeArchetypeStorageNode, vtkMRMLLinearTransformSequenceStorageNode, vtkMRMLTextStorageNode, and vtkMRMLVolumeSequenceStorageNode.

◆ ConfigureForDataExchange()

virtual void vtkMRMLStorageNode::ConfigureForDataExchange ( )
inlinevirtual

Configure the storage node for data exchange. This is an opportunity to optimize the storage node's settings, for instance to turn off compression.

Reimplemented in vtkMRMLVolumeArchetypeStorageNode, and vtkMRMLNRRDStorageNode.

Definition at line 310 of file vtkMRMLStorageNode.h.

◆ Copy()

void vtkMRMLStorageNode::Copy ( vtkMRMLNode node)
overridevirtual

◆ CreateNodeInstance()

vtkMRMLNode* vtkMRMLStorageNode::CreateNodeInstance ( )
overridepure virtual

◆ FileNameIsInList()

int vtkMRMLStorageNode::FileNameIsInList ( const char *  fileName)

is filename in the filename list already? returns 1 if yes, 0 if no

◆ GetAbsoluteFilePath()

const char* vtkMRMLStorageNode::GetAbsoluteFilePath ( const char *  inputPath)

Calculates and the absolute path to the input file if the input path is relative and the scene is defined with a root directory. Sets and then return TempFileName. Returns null if the input path is null or the path is relative and the scene is not defined. Returns inputPath if it's absolute.

◆ GetClassName()

virtual const char* vtkMRMLStorageNode::GetClassName ( )
virtual

◆ GetCompressionParameter()

virtual std::string vtkMRMLStorageNode::GetCompressionParameter ( )
virtual

◆ GetCompressionParameterFromDisplayName()

virtual std::string vtkMRMLStorageNode::GetCompressionParameterFromDisplayName ( const std::string &  name)
virtual

Returns a string representing the specified preset.

◆ GetCompressionPresetDisplayNames()

virtual std::vector<std::string> vtkMRMLStorageNode::GetCompressionPresetDisplayNames ( )
virtual

Returns a list of displayable names of the supported compression presets.

◆ GetCompressionPresets()

virtual const std::vector<CompressionPreset> vtkMRMLStorageNode::GetCompressionPresets ( )
virtual

Get a list of all supported compression presets.

◆ GetCoordinateSystemTypeAsString()

static const char* vtkMRMLStorageNode::GetCoordinateSystemTypeAsString ( int  id)
static


Convert between coordinate system ID and name

◆ GetCoordinateSystemTypeFromString()

static int vtkMRMLStorageNode::GetCoordinateSystemTypeFromString ( const char *  name)
static

◆ GetDefaultWriteFileExtension()

virtual const char* vtkMRMLStorageNode::GetDefaultWriteFileExtension ( )
virtual

◆ GetDisplayNameFromCompressionParameter()

virtual std::string vtkMRMLStorageNode::GetDisplayNameFromCompressionParameter ( const std::string &  preset)
virtual

Returns the name of the specified preset.

◆ GetFileExtensionsFromFileTypes()

virtual void vtkMRMLStorageNode::GetFileExtensionsFromFileTypes ( vtkStringArray *  inputFileTypes,
vtkStringArray *  outputFileExtensions 
)
virtual

Get all file extensions from file types list returned by GetSupportedReadFileTypes() or GetSupportedWriteFileTypes(). Always includes a dot. If extension is not specified for a type or .* is specified then .* will be returned.

◆ GetFileName()

virtual char* vtkMRMLStorageNode::GetFileName ( )
virtual

◆ GetFileNameWithoutExtension()

std::string vtkMRMLStorageNode::GetFileNameWithoutExtension ( const char *  fileName = nullptr)

Remove supported extension from filename. If filename is not specified then the current FileName will be used.

◆ GetFullNameFromFileName()

std::string vtkMRMLStorageNode::GetFullNameFromFileName ( )

Get the file's absolute path from the file name and the mrml scene root dir. GetFullnameFromFileName calls GetFullNameFromNthFileName with -1.

◆ GetFullNameFromNthFileName()

std::string vtkMRMLStorageNode::GetFullNameFromNthFileName ( int  n)

◆ GetLowercaseExtensionFromFileName()

static std::string vtkMRMLStorageNode::GetLowercaseExtensionFromFileName ( const std::string &  filename)
static

Helper function for getting extension from a full filename. It always returns lowercase extension.

◆ GetNodeTagName()

const char* vtkMRMLStorageNode::GetNodeTagName ( )
overridepure virtual

◆ GetNthFileName()

const char* vtkMRMLStorageNode::GetNthFileName ( int  n) const


return the nth file name, null if doesn't exist

◆ GetNthURI()

const char* vtkMRMLStorageNode::GetNthURI ( int  n)


Get the nth URI from the list of URI's

◆ GetNumberOfCompressionPresets()

virtual int vtkMRMLStorageNode::GetNumberOfCompressionPresets ( )
virtual

Get the number of compression presets.

◆ GetNumberOfFileNames()

int vtkMRMLStorageNode::GetNumberOfFileNames ( ) const
inline


See how many file names were generated during ExecuteInformation

Definition at line 213 of file vtkMRMLStorageNode.h.

◆ GetNumberOfURIs()

int vtkMRMLStorageNode::GetNumberOfURIs ( )
inline


Return how many uri names this storage node holds in it's list

Definition at line 237 of file vtkMRMLStorageNode.h.

◆ GetReadState()

virtual int vtkMRMLStorageNode::GetReadState ( )
virtual

Get/Set the state of reading.

◆ GetReadStateAsString()

const char* vtkMRMLStorageNode::GetReadStateAsString ( )
inline

Definition at line 148 of file vtkMRMLStorageNode.h.

◆ GetStateAsString()

const char* vtkMRMLStorageNode::GetStateAsString ( int  state)

◆ GetStorableNode()

virtual vtkMRMLStorableNode* vtkMRMLStorageNode::GetStorableNode ( )
virtual

Returns the first storable node that is associated to this storage node

See also
vtkMRMLStorableNode

◆ GetStoredTime()

vtkTimeStamp vtkMRMLStorageNode::GetStoredTime ( )

Return the last time stamp when a reference node has been read in or written from.

◆ GetSupportedFileExtension()

virtual std::string vtkMRMLStorageNode::GetSupportedFileExtension ( const char *  fileName = nullptr,
bool  includeReadable = true,
bool  includeWriteable = true 
)
virtual

Return complete file extension for the specified filename. Longest matched extension will be returned (.seg.nrrd will be returned if both .nrrd and .seg.nrrd are matched), including dot. If filename is not specified then the current FileName will be used If there is no match then empty is returned.

◆ GetSupportedReadFileTypes()

virtual vtkStringArray* vtkMRMLStorageNode::GetSupportedReadFileTypes ( )
virtual

Get all the supported read file types Subclasses should overwrite InitializeSupportedReadFileTypes().

◆ GetSupportedWriteFileTypes()

virtual vtkStringArray* vtkMRMLStorageNode::GetSupportedWriteFileTypes ( )
virtual

Get all the supported write file types Subclasses should overwrite InitializeSupportedWriteFileTypes().

◆ GetTempFileName()

virtual char* vtkMRMLStorageNode::GetTempFileName ( )
virtual

◆ GetURI()

virtual char* vtkMRMLStorageNode::GetURI ( )
virtual

◆ GetURIHandler()

virtual vtkURIHandler* vtkMRMLStorageNode::GetURIHandler ( )
virtual

◆ GetUseCompression()

virtual int vtkMRMLStorageNode::GetUseCompression ( )
virtual

◆ GetUserMessages() [1/2]

const vtkMRMLMessageCollection* vtkMRMLStorageNode::GetUserMessages ( ) const
inline

Definition at line 375 of file vtkMRMLStorageNode.h.

◆ GetUserMessages() [2/2]

vtkMRMLMessageCollection* vtkMRMLStorageNode::GetUserMessages ( )
inline

Definition at line 376 of file vtkMRMLStorageNode.h.

◆ GetWriteFileFormat()

virtual char* vtkMRMLStorageNode::GetWriteFileFormat ( )
virtual

◆ GetWriteState()

virtual int vtkMRMLStorageNode::GetWriteState ( )
virtual


Get/Set the state of writing

◆ GetWriteStateAsString()

const char* vtkMRMLStorageNode::GetWriteStateAsString ( )
inline

Definition at line 161 of file vtkMRMLStorageNode.h.

◆ InitializeSupportedReadFileTypes()

virtual void vtkMRMLStorageNode::InitializeSupportedReadFileTypes ( )
protectedvirtual

◆ InitializeSupportedWriteFileTypes()

virtual void vtkMRMLStorageNode::InitializeSupportedWriteFileTypes ( )
protectedvirtual

◆ InvalidateFile()

void vtkMRMLStorageNode::InvalidateFile ( )

Inform that the file that has been last read or write has been deleted. Use with care, typically called by the cache manager.

◆ IsA()

virtual int vtkMRMLStorageNode::IsA ( const char *  type)
virtual

◆ IsFilePathRelative()

int vtkMRMLStorageNode::IsFilePathRelative ( const char *  filepath)

Checks is file path is a relative path by calling appropriate method on the scene depending on whether the scene pointer is valid. returns 0 if it's not relative or the input is null, 1 if it is relative

◆ IsTypeOf()

static int vtkMRMLStorageNode::IsTypeOf ( const char *  type)
static

◆ operator=()

void vtkMRMLStorageNode::operator= ( const vtkMRMLStorageNode )
protected

◆ PrintSelf()

void vtkMRMLStorageNode::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
override

◆ ProcessMRMLEvents()

void vtkMRMLStorageNode::ProcessMRMLEvents ( vtkObject *  caller,
unsigned long  event,
void *  callData 
)
overridevirtual


Propagate Progress Event generated in ReadData

Reimplemented from vtkMRMLNode.

◆ ReadData()

virtual int vtkMRMLStorageNode::ReadData ( vtkMRMLNode refNode,
bool  temporaryFile = false 
)
virtual

Read data from FileName and set it in the referenced node. If temporaryFile is true, it informs the reader that the file to read is from a temporary directory. It means that the node should probably be saved by the user before leaving the application as the file might already be deleted or be deleted soon after. Return 1 on success, 0 on failure.

Todo:
make temporaryFile a property (similar to what FileName)
See also
SetFileName(), ReadDataInternal(), GetStoredTime()

◆ ReadDataInternal()

virtual int vtkMRMLStorageNode::ReadDataInternal ( vtkMRMLNode refNode)
protectedvirtual

◆ ReadXMLAttributes()

void vtkMRMLStorageNode::ReadXMLAttributes ( const char **  atts)
overridevirtual

◆ ResetFileNameList()

void vtkMRMLStorageNode::ResetFileNameList ( )


Clear the array of file names

◆ ResetNthFileName()

void vtkMRMLStorageNode::ResetNthFileName ( int  n,
const char *  fileName 
)


Set the nth file in FileNameList, checks that it is already defined

◆ ResetNthURI()

void vtkMRMLStorageNode::ResetNthURI ( int  n,
const char *  uri 
)


Set the nth uri in URIList, checks that it is already defined

◆ ResetURIList()

void vtkMRMLStorageNode::ResetURIList ( )


Clear the array of URIs

◆ SafeDownCast()

static vtkMRMLStorageNode* vtkMRMLStorageNode::SafeDownCast ( vtkObject *  o)
static

◆ SetCompressionParameter()

virtual void vtkMRMLStorageNode::SetCompressionParameter ( std::string  )
virtual

Compression parameter that is used to save the node.

◆ SetDataDirectory()

void vtkMRMLStorageNode::SetDataDirectory ( const char *  dataDirName)


Set a new data directory for all files

◆ SetDefaultWriteFileExtension()

virtual void vtkMRMLStorageNode::SetDefaultWriteFileExtension ( const char *  ext)
virtual

Set default file extension for writing. It is just a hint, the storage node may choose a different extension if the provided extension is not suitable.

◆ SetFileName()

virtual void vtkMRMLStorageNode::SetFileName ( const char *  )
virtual

A file name or the archetype file name for a series used for read or write

See also
ReadData(), WriteData()

◆ SetReadState()

virtual void vtkMRMLStorageNode::SetReadState ( int  )
virtual

◆ SetReadStateCancelled()

void vtkMRMLStorageNode::SetReadStateCancelled ( )
inline

Definition at line 145 of file vtkMRMLStorageNode.h.

◆ SetReadStateIdle()

void vtkMRMLStorageNode::SetReadStateIdle ( )
inline

Definition at line 141 of file vtkMRMLStorageNode.h.

◆ SetReadStatePending()

void vtkMRMLStorageNode::SetReadStatePending ( )
inline

Definition at line 140 of file vtkMRMLStorageNode.h.

◆ SetReadStateScheduled()

void vtkMRMLStorageNode::SetReadStateScheduled ( )
inline

Definition at line 142 of file vtkMRMLStorageNode.h.

◆ SetReadStateSkippedNoData()

void vtkMRMLStorageNode::SetReadStateSkippedNoData ( )
inline

Definition at line 146 of file vtkMRMLStorageNode.h.

◆ SetReadStateTransferDone()

void vtkMRMLStorageNode::SetReadStateTransferDone ( )
inline

Definition at line 144 of file vtkMRMLStorageNode.h.

◆ SetReadStateTransferring()

void vtkMRMLStorageNode::SetReadStateTransferring ( )
inline

Definition at line 143 of file vtkMRMLStorageNode.h.

◆ SetTempFileName()

virtual void vtkMRMLStorageNode::SetTempFileName ( const char *  )
virtual


A temporary file name used to calculate absolute paths

◆ SetURI()

virtual void vtkMRMLStorageNode::SetURI ( const char *  )
virtual


Location of the remote copy of this file.

◆ SetURIHandler()

virtual void vtkMRMLStorageNode::SetURIHandler ( vtkURIHandler uriHandler)
virtual

◆ SetURIPrefix()

void vtkMRMLStorageNode::SetURIPrefix ( const char *  uriPrefix)


Set a new URI base for all URI's

◆ SetUseCompression()

virtual void vtkMRMLStorageNode::SetUseCompression ( int  )
virtual

◆ SetWriteFileFormat()

virtual void vtkMRMLStorageNode::SetWriteFileFormat ( const char *  )
virtual


Allow to set specific file format that this node will write output.

◆ SetWriteState()

virtual void vtkMRMLStorageNode::SetWriteState ( int  )
virtual

◆ SetWriteStateCancelled()

void vtkMRMLStorageNode::SetWriteStateCancelled ( )
inline

Definition at line 159 of file vtkMRMLStorageNode.h.

◆ SetWriteStateIdle()

void vtkMRMLStorageNode::SetWriteStateIdle ( )
inline

Definition at line 155 of file vtkMRMLStorageNode.h.

◆ SetWriteStatePending()

void vtkMRMLStorageNode::SetWriteStatePending ( )
inline

Definition at line 154 of file vtkMRMLStorageNode.h.

◆ SetWriteStateScheduled()

void vtkMRMLStorageNode::SetWriteStateScheduled ( )
inline

Definition at line 156 of file vtkMRMLStorageNode.h.

◆ SetWriteStateSkippedNoData()

void vtkMRMLStorageNode::SetWriteStateSkippedNoData ( )
inline

Definition at line 160 of file vtkMRMLStorageNode.h.

◆ SetWriteStateTransferDone()

void vtkMRMLStorageNode::SetWriteStateTransferDone ( )
inline

Definition at line 158 of file vtkMRMLStorageNode.h.

◆ SetWriteStateTransferring()

void vtkMRMLStorageNode::SetWriteStateTransferring ( )
inline

Definition at line 157 of file vtkMRMLStorageNode.h.

◆ StageReadData()

void vtkMRMLStorageNode::StageReadData ( vtkMRMLNode refNode)
protected

If the URI is not null, fetch it and save it to the node's FileName location or load directly into the reference node.

◆ StageWriteData()

void vtkMRMLStorageNode::StageWriteData ( vtkMRMLNode refNode)
protected

Copy data from the local file location (node->FileName) or node to the remote location specified by the URI

◆ SupportedFileType()

virtual int vtkMRMLStorageNode::SupportedFileType ( const char *  fileName)
virtual

Check to see if this storage node can handle the file type in the input string. If input string is null, check URI, then check FileName. Returns nonzero if supported, 0 otherwise. The higher the value, the higher the confidence that this reader is the most suitable for reading the file. Typically, the confidence is the length of the file matched file extension (including the dot). So, for example for .nrrd file extension the returned value is 5, for .seg.nrrd the returned value is 9. If a reader looks into the file content then it may return with much higher confidence values. Subclasses should implement this method.

◆ UpdateCompressionPresets()

virtual void vtkMRMLStorageNode::UpdateCompressionPresets ( )
protectedvirtual

Update list of supported compression presets. It is called before each access to the preset list. Subclasses can use this method to set presets based on storable node content.

◆ UseCompressionOff()

virtual void vtkMRMLStorageNode::UseCompressionOff ( )
virtual

◆ UseCompressionOn()

virtual void vtkMRMLStorageNode::UseCompressionOn ( )
virtual


Use compression on write

◆ WriteData()

virtual int vtkMRMLStorageNode::WriteData ( vtkMRMLNode refNode)
virtual

Write data from a referenced node Return 1 on success, 0 on failure. NOTE: Subclasses should implement WriteDataInternal(), not this method.

See also
WriteDataInternal()

◆ WriteDataInternal()

virtual int vtkMRMLStorageNode::WriteDataInternal ( vtkMRMLNode refNode)
protectedvirtual

◆ WriteXML()

void vtkMRMLStorageNode::WriteXML ( ostream &  of,
int  indent 
)
overridevirtual

Member Data Documentation

◆ CompressionParameter

std::string vtkMRMLStorageNode::CompressionParameter
protected

Definition at line 411 of file vtkMRMLStorageNode.h.

◆ CompressionPresets

std::vector<CompressionPreset> vtkMRMLStorageNode::CompressionPresets
protected

Definition at line 412 of file vtkMRMLStorageNode.h.

◆ DefaultWriteFileExtension

std::string vtkMRMLStorageNode::DefaultWriteFileExtension
protected

List of supported extensions to write in.

Definition at line 424 of file vtkMRMLStorageNode.h.

◆ FileName

char* vtkMRMLStorageNode::FileName
protected

Definition at line 404 of file vtkMRMLStorageNode.h.

◆ FileNameList

std::vector<std::string> vtkMRMLStorageNode::FileNameList
protected


An array of file names, should contain the FileName but may not

Definition at line 416 of file vtkMRMLStorageNode.h.

◆ LastFoundStorableNode

vtkWeakPointer<vtkMRMLStorableNode> vtkMRMLStorageNode::LastFoundStorableNode
protected

Definition at line 447 of file vtkMRMLStorageNode.h.

◆ ReadState

int vtkMRMLStorageNode::ReadState
protected

Definition at line 409 of file vtkMRMLStorageNode.h.

◆ StoredTime

vtkTimeStamp* vtkMRMLStorageNode::StoredTime
protected

Time when data was last read or written. This is used by the storable node to know when it needs to save its data Can be reset with InvalidateFile.

See also
InvalidateFile

Definition at line 445 of file vtkMRMLStorageNode.h.

◆ SupportedReadFileTypes

vtkStringArray* vtkMRMLStorageNode::SupportedReadFileTypes
protected

List of supported extensions to read in.

Definition at line 421 of file vtkMRMLStorageNode.h.

◆ SupportedWriteFileTypes

vtkStringArray* vtkMRMLStorageNode::SupportedWriteFileTypes
protected

Definition at line 425 of file vtkMRMLStorageNode.h.

◆ TempFileName

char* vtkMRMLStorageNode::TempFileName
protected

Definition at line 405 of file vtkMRMLStorageNode.h.

◆ URI

char* vtkMRMLStorageNode::URI
protected

Definition at line 406 of file vtkMRMLStorageNode.h.

◆ URIHandler

vtkURIHandler* vtkMRMLStorageNode::URIHandler
protected

Definition at line 407 of file vtkMRMLStorageNode.h.

◆ URIList

std::vector<std::string> vtkMRMLStorageNode::URIList
protected


An array of URI's, should contain the URI but may not

Definition at line 419 of file vtkMRMLStorageNode.h.

◆ UseCompression

int vtkMRMLStorageNode::UseCompression
protected

Definition at line 408 of file vtkMRMLStorageNode.h.

◆ UserMessages

vtkMRMLMessageCollection* vtkMRMLStorageNode::UserMessages
protected

Definition at line 451 of file vtkMRMLStorageNode.h.

◆ WriteFileFormat

char* vtkMRMLStorageNode::WriteFileFormat
protected

Definition at line 426 of file vtkMRMLStorageNode.h.

◆ WriteState

int vtkMRMLStorageNode::WriteState
protected

Definition at line 410 of file vtkMRMLStorageNode.h.


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