<div dir="ltr"><div dir="ltr"><div dir="ltr"><div><div><div>Hello,</div><div><br></div><div>I am using SimpleITK library in python 2.7. <br></div><div><br></div>I want to do some basic preprocessing on CT scans with nii.gz. format. For example, I use img = sitk.ReadImage(ct_scan_path) to read the image, and then use nda = sitk.GetArrayFromImage(ct_img) to access n-dimensional numpy array. Then, I do some preprocessing steps on this n-dimensional numpy, and save it back to the image format by using img_preprocessed = sitk.GetImageFromArray(nda_pre<wbr>processed). However, when I check the metadata of these two images, it gives me different values which are showed below.</div><div><br></div><div>Does anyone know how to copy all the metadata from the original image to another image? or Does anyone know how to access and change the voxel value of the image without touching the metadata?<br></div><div><br></div>Original Image:<br></div>print img<br> <br><div><div>Image (0x4237b40)<br>  RTTI typeinfo:   itk::Image<float, 3u><br>  Reference Count: 1<br>  Modified Time: 3601<br>  Debug: Off<br>  Object Name: <br>  Observers: <br>    none<br>  Source: (none)<br>  Source output name: (none)<br>  Release Data: Off<br>  Data Released: False<br>  Global Release Data: Off<br>  PipelineMTime: 3578<br>  UpdateMTime: 3600<br>  RealTimeStamp: 0 seconds <br>  LargestPossibleRegion: <br>    Dimension: 3<br>    Index: [0, 0, 0]<br>    Size: [512, 512, 37]<br>  BufferedRegion: <br>    Dimension: 3<br>    Index: [0, 0, 0]<br>    Size: [512, 512, 37]<br>  RequestedRegion: <br>    Dimension: 3<br>    Index: [0, 0, 0]<br>    Size: [512, 512, 37]<br>  Spacing: [0.488281, 0.488281, 5]<br>  Origin: [-114, 294.012, 21.82]<br>  Direction: <br>1 0 0<br>0 -1 0<br>0 0 1<br><br>  IndexToPointMatrix: <br>0.488281 0 0<br>0 -0.488281 0<br>0 0 5<br><br>  PointToIndexMatrix: <br>2.048 0 0<br>0 -2.048 0<br>0 0 0.2<br><br>  Inverse Direction: <br>1 0 0<br>0 -1 0<br>0 0 1<br><br>  PixelContainer: <br>    ImportImageContainer (0x398e780)<br>      RTTI typeinfo:   itk::ImportImageContainer<unsi<wbr>gned long, float><br>      Reference Count: 1<br>      Modified Time: 3597<br>      Debug: Off<br>      Object Name: <br>      Observers: <br>        none<br>      Pointer: 0x7f6ef9225010<br>      Container manages memory: true<br>      Size: 9699328<br>      Capacity: 9699328</div><div><br></div><div>Preprocessed Image:</div><div><br></div><div>Image (0x3857e60)<br>  RTTI typeinfo:   itk::Image<float, 3u><br>  Reference Count: 1<br>  Modified Time: 3605<br>  Debug: Off<br>  Object Name: <br>  Observers: <br>    none<br>  Source: (none)<br>  Source output name: (none)<br>  Release Data: Off<br>  Data Released: False<br>  Global Release Data: Off<br>  PipelineMTime: 0<br>  UpdateMTime: 0<br>  RealTimeStamp: 0 seconds <br>  LargestPossibleRegion: <br>    Dimension: 3<br>    Index: [0, 0, 0]<br>    Size: [512, 512, 37]<br>  BufferedRegion: <br>    Dimension: 3<br>    Index: [0, 0, 0]<br>    Size: [512, 512, 37]<br>  RequestedRegion: <br>    Dimension: 3<br>    Index: [0, 0, 0]<br>    Size: [512, 512, 37]<br>  Spacing: [1, 1, 1]<br>  Origin: [0, 0, 0]<br>  Direction: <br>1 0 0<br>0 1 0<br>0 0 1<br><br>  IndexToPointMatrix: <br>1 0 0<br>0 1 0<br>0 0 1<br><br>  PointToIndexMatrix: <br>1 0 0<br>0 1 0<br>0 0 1<br><br>  Inverse Direction: <br>1 0 0<br>0 1 0<br>0 0 1<br><br>  PixelContainer: <br>    ImportImageContainer (0x39856c0)<br>      RTTI typeinfo:   itk::ImportImageContainer<unsi<wbr>gned long, float><br>      Reference Count: 1<br>      Modified Time: 3606<br>      Debug: Off<br>      Object Name: <br>      Observers: <br>        none<br>      Pointer: 0x7f6ef4823010<br>      Container manages memory: true<br>      Size: 9699328<br>      Capacity: 9699328<br></div><div><br></div></div></div></div></div>