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
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 
49  std::string UpdateFileList(vtkMRMLNode *refNode, bool move=false);
50 
53  void WriteXML(ostream& of, int indent) override;
54 
57  void Copy(vtkMRMLNode *node) override;
58 
61  const char* GetNodeTagName() override {return "VolumeArchetypeStorage";}
62 
65  vtkGetMacro(CenterImage, int);
66  vtkSetMacro(CenterImage, int);
67 
70  vtkGetMacro(SingleFile, int);
71  vtkSetMacro(SingleFile, int);
72 
75  vtkSetMacro(UseOrientationFromFile, int);
76  vtkGetMacro(UseOrientationFromFile, int);
77 
79  bool CanReadInReferenceNode(vtkMRMLNode* refNode) override;
80  bool CanWriteFromReferenceNode(vtkMRMLNode* refNode) override;
81 
86  void ConfigureForDataExchange() override;
87 
93  static void SetMetaDataDictionaryFromReader(vtkMRMLVolumeNode*, vtkITKArchetypeImageSeriesReader*);
94 
95 protected:
100 
102  void InitializeSupportedWriteFileTypes() override;
103 
104  vtkITKArchetypeImageSeriesReader* InstantiateVectorVolumeReader(const std::string &fullName);
105 
106  void ConvertSpatialVectorVoxelsBetweenRasLps(vtkImageData* imageData);
107 
109  int ReadDataInternal(vtkMRMLNode *refNode) override;
110 
112  int WriteDataInternal(vtkMRMLNode *refNode) override;
113 
117 
118 };
119 
120 #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