Slicer  5.0
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
vtkMRMLLinearTransformSequenceStorageNode.h
Go to the documentation of this file.
1 /*=auto=========================================================================
2 
3  Portions (c) Copyright 2005 Brigham and Women's Hospital (BWH) All Rights Reserved.
4 
5  See COPYRIGHT.txt
6  or http://www.slicer.org/copyright/copyright.txt for details.
7 
8 =========================================================================auto=*/
12 
13 #ifndef __vtkMRMLLinearTransformSequenceStorageNode_h
14 #define __vtkMRMLLinearTransformSequenceStorageNode_h
15 
16 #include "vtkMRML.h"
17 #include "vtkMRMLNRRDStorageNode.h"
18 
19 #include <deque>
20 
22 
24  {
28  };
29 
32 {
33  public:
34 
37 
38  vtkMRMLNode* CreateNodeInstance() override;
39 
42  const char* GetNodeTagName() override {return "LinearTransformSequenceStorage";};
43 
45  bool CanReadInReferenceNode(vtkMRMLNode *refNode) override;
46 
48  bool CanWriteFromReferenceNode(vtkMRMLNode* refNode) override;
49  int WriteDataInternal(vtkMRMLNode *refNode) override;
50 
53  const char* GetDefaultWriteFileExtension() override;
54 
59  static int ReadSequenceFileTransforms(const std::string& fileName, vtkMRMLScene *scene,
60  std::deque< vtkSmartPointer<vtkMRMLSequenceNode> > &createdNodes, std::map< int, std::string >& frameNumberToIndexValueMap,
61  std::map< std::string, std::string > &imageMetaData, SequenceFileType fileType = METAIMAGE_SEQUENCE_FILE);
62 
64  static bool WriteSequenceMetafileTransforms(const std::string& fileName, std::deque< vtkMRMLSequenceNode* > &transformNodes,
65  std::deque< std::string > &transformNames, vtkMRMLSequenceNode* masterNode, vtkMRMLSequenceNode* imageNode);
66 
67 protected:
72 
77  int ReadDataInternal(vtkMRMLNode* refNode) override;
78 
80  void InitializeSupportedReadFileTypes() override;
81 
83  void InitializeSupportedWriteFileTypes() override;
84 };
85 
86 #endif
void InitializeSupportedWriteFileTypes() override
Initialize all the supported write file types.
virtual const char * GetDefaultWriteFileExtension()
Return default file extension for writing.
MRML node for representing a sequence of MRML nodes.
MRML node for representing a volume storage.
static vtkMRMLNRRDStorageNode * New()
void operator=(const vtkMRMLNRRDStorageNode &)
A set of MRML Nodes that supports serialization and undo/redo.
Definition: vtkMRMLScene.h:57
virtual bool CanWriteFromReferenceNode(vtkMRMLNode *refNode)
bool CanReadInReferenceNode(vtkMRMLNode *refNode) override
Return true if the node can be read in.
int ReadDataInternal(vtkMRMLNode *refNode) override
Read data and set it in the referenced node.
void InitializeSupportedReadFileTypes() override
Initialize all the supported write file types.
const char * GetNodeTagName() override
Get node XML tag name (like Storage, Model)
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:167
vtkMRMLNode * CreateNodeInstance() override
Create instance of the default node. Like New only virtual.
int WriteDataInternal(vtkMRMLNode *refNode) override
Write data from a referenced node.