I have seen that the scalar nodes contain the function
/// Set node attributes
void ReadXMLAttributes( const char** atts) override;
but this is not visible from within python
File "/Users/alexvergaragil/Documents/GIT/dosimetry4d/Dosimetry4D/Logic/dicomutils.py", line 22, in getDICOMattributes
self.imagenode.ReadXMLAttributes(att)
AttributeError: 'MRMLCorePython.vtkMRMLScalarVolumeNode' object has no attribute 'ReadXMLAttributes'
' object has no attribute 'GetMetaDataDictionary'
In the above exception I also discovered that there is also a ‘GetMetaDataDictionary’ in the vtkMRMLVolumeNode from which the nodes inherits. This function is also hidden for python
dicomutils.py", line 21, in getDICOMattributes
print(self.imagenode.GetMetaDataDictionary())
AttributeError: 'MRMLCorePython.vtkMRMLScalarVolumeNode' object has no attribute 'GetMetaDataDictionary'
There is a way to get the Node data with GetImageData() but this is the output
vtkImageData (0x7f8fec3b0b80)
Debug: Off
Modified Time: 1956077
Reference Count: 5
Registered Events:
Registered Observers:
vtkObserver (0x7f8fec3ac590)
Event: 36
EventName: ModifiedEvent
Command: 0x7f8fec3ac530
Priority: 0
Tag: 1
Information: 0x7f8fec3b0d20
Data Released: False
Global Release Data: Off
UpdateTime: 1956397
Field Data:
Debug: Off
Modified Time: 1956049
Reference Count: 1
Registered Events: (none)
Number Of Arrays: 0
Number Of Components: 0
Number Of Tuples: 0
Number Of Points: 1474560
Number Of Cells: 1435481
Cell Data:
Debug: Off
Modified Time: 1956073
Reference Count: 1
Registered Events:
Registered Observers:
vtkObserver (0x7f8fec3ab840)
Event: 36
EventName: ModifiedEvent
Command: 0x7f8fec3ab570
Priority: 0
Tag: 1
Number Of Arrays: 0
Number Of Components: 0
Number Of Tuples: 0
Copy Tuple Flags: ( 1 1 1 1 1 0 1 1 )
Interpolate Flags: ( 1 1 1 1 1 0 0 1 )
Pass Through Flags: ( 1 1 1 1 1 1 1 1 )
Scalars: (none)
Vectors: (none)
Normals: (none)
TCoords: (none)
Tensors: (none)
GlobalIds: (none)
PedigreeIds: (none)
EdgeFlag: (none)
Point Data:
Debug: Off
Modified Time: 1956077
Reference Count: 1
Registered Events:
Registered Observers:
vtkObserver (0x7f8fec3ab6e0)
Event: 36
EventName: ModifiedEvent
Command: 0x7f8fec3ab570
Priority: 0
Tag: 1
Number Of Arrays: 1
Array 0 name = ImageScalars
Number Of Components: 1
Number Of Tuples: 1474560
Copy Tuple Flags: ( 1 1 1 1 1 0 1 1 )
Interpolate Flags: ( 1 1 1 1 1 0 0 1 )
Pass Through Flags: ( 1 1 1 1 1 1 1 1 )
Scalars:
Debug: Off
Modified Time: 1955813
Reference Count: 2
Registered Events:
Registered Observers:
vtkObserver (0x7f8fd32380c0)
Event: 36
EventName: ModifiedEvent
Command: 0x7f8fd3237ec0
Priority: 0
Tag: 2
vtkObserver (0x7f8fd3238090)
Event: 2
EventName: DeleteEvent
Command: 0x7f8fd3237ec0
Priority: 0
Tag: 1
Name: ImageScalars
Data type: double
Size: 1474560
MaxId: 1474559
NumberOfComponents: 1
Information: 0x7f8fec3a0c30
Debug: Off
Modified Time: 1956426
Reference Count: 1
Registered Events: (none)
PER_COMPONENT: vtkInformationVector(0x7f8fec3a1250)
Name: ImageScalars
Number Of Components: 1
Number Of Tuples: 1474560
Size: 1474560
MaxId: 1474559
LookupTable: (none)
Vectors: (none)
Normals: (none)
TCoords: (none)
Tensors: (none)
GlobalIds: (none)
PedigreeIds: (none)
EdgeFlag: (none)
Bounds:
Xmin,Xmax: (0, 127)
Ymin,Ymax: (0, 127)
Zmin,Zmax: (0, 89)
Compute Time: 2391599
Spacing: (1, 1, 1)
Origin: (0, 0, 0)
Dimensions: (128, 128, 90)
Increments: (0, 0, 0)
Extent: (0, 127, 0, 127, 0, 89)
From all these records I see no reference to the initial Dicom tags, What is the “Modified Time”? Where is the modality?