Slicer  4.13
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
vtkMRMLVolumeArchetypeStorageNode.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  Program: 3D Slicer
9  Module: $RCSfile: vtkMRMLVolumeArchetypeStorageNode.h,v $
10  Date: $Date: 2006/03/19 17:12:29 $
11  Version: $Revision: 1.8 $
12 
13 =========================================================================auto=*/
14 
15 #ifndef __vtkMRMLVolumeArchetypeStorageNode_h
16 #define __vtkMRMLVolumeArchetypeStorageNode_h
17 
18 #include "vtkMRMLStorageNode.h"
19 
20 class vtkImageData;
22 class vtkMRMLVolumeNode;
23 
29 {
30 public:
33  void PrintSelf(ostream& os, vtkIndent indent) override;
34 
35  vtkMRMLNode* CreateNodeInstance() override;
36 
39  void ReadXMLAttributes( const char** atts) override;
40 
47  std::string UpdateFileList(vtkMRMLNode *refNode, int move = 0);
48 
51  void WriteXML(ostream& of, int indent) override;
52 
55  void Copy(vtkMRMLNode *node) override;
56 
59  const char* GetNodeTagName() override {return "VolumeArchetypeStorage";}
60 
63  vtkGetMacro(CenterImage, int);
64  vtkSetMacro(CenterImage, int);
65 
68  vtkGetMacro(SingleFile, int);
69  vtkSetMacro(SingleFile, int);
70 
73  vtkSetMacro(UseOrientationFromFile, int);
74  vtkGetMacro(UseOrientationFromFile, int);
75 
77  bool CanReadInReferenceNode(vtkMRMLNode* refNode) override;
78  bool CanWriteFromReferenceNode(vtkMRMLNode* refNode) override;
79 
84  void ConfigureForDataExchange() override;
85 
91  static void SetMetaDataDictionaryFromReader(vtkMRMLVolumeNode*, vtkITKArchetypeImageSeriesReader*);
92 
93 protected:
98 
100  void InitializeSupportedWriteFileTypes() override;
101 
102  vtkITKArchetypeImageSeriesReader* InstantiateVectorVolumeReader(const std::string &fullName);
103 
104  void ConvertSpatialVectorVoxelsBetweenRasLps(vtkImageData* imageData);
105 
107  int ReadDataInternal(vtkMRMLNode *refNode) override;
108 
110  int WriteDataInternal(vtkMRMLNode *refNode) override;
111 
115 
116 };
117 
118 #endif
vtkMRMLNode * CreateNodeInstance() override=0
Create instance of the default node. Like New only virtual.
virtual int ReadDataInternal(vtkMRMLNode *refNode)
virtual void ConfigureForDataExchange()
Read a series of files that have a common naming convention.
MRML node for representing a volume storage.
void operator=(const vtkMRMLStorageNode &)
void ReadXMLAttributes(const char **atts) override
Read node attributes from XML file
void Copy(vtkMRMLNode *node) override
Copy the node's attributes to this object
void PrintSelf(ostream &os, vtkIndent indent) override
virtual bool CanWriteFromReferenceNode(vtkMRMLNode *refNode)
void WriteXML(ostream &of, int indent) override
Write this node's information to a MRML file in XML format.
const char * GetNodeTagName() override
Get node XML tag name (like Storage, Model)
A superclass for other storage nodes.
MRML node for representing a volume (image stack).
virtual void InitializeSupportedWriteFileTypes()
virtual int WriteDataInternal(vtkMRMLNode *refNode)
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:167
virtual bool CanReadInReferenceNode(vtkMRMLNode *refNode)=0