isis-group / isis

The ISIS project aims to provide a framework to access a large variety of image processing libraries written in different programming languages and environments.
GNU General Public License v3.0
17 stars 14 forks source link

some more fun with dicom plugin #33

Closed lydiatgit closed 12 years ago

lydiatgit commented 12 years ago

Okay, next try to convert files (standard dicom files from 3T TRIO) with isisconv via :

isisconv -dCore info -in DICOM/00000010 -rf ima -out image{sequenceNumber}{DICOM/ImageType}_{acquisitionNumber}.nii

Mysterious things happening:

  1. Where do the different indexOrigins come from and what's the decision to reject:

Rejecting property "indexOrigin:{<98.5486|81.7746|-15.4209|0>(fvector4)}" because "{<98.1819|81.0055|-11.5536|0>(fvector4)}" is allready there

  1. the written output filename has no acquisition number although isisdump gives a '5' for this property and no DICOM/ImageType

Image of size <64|64|30|1> written to image_2__.nii using Nifti

  1. a mysterious property that normally should be the DICOM/ImageType

The property "ORIGINAL,PRIMARY,M,ND,NORM,MOCO,WAS_MOSAIC" does not exist - ignoring it

LAST: the whole output on commandline

ImageIO:warning[io_interface.cpp:51] Missing property "DICOM/PatientsAge" ImageIO:warning[io_interface.cpp:110] The property "subjectName" does not exist - ignoring it CoreDebug:warning[propmap.hpp:503] Returning <0|0|0|0>(fvector4) because property voxelGap does not exist CoreDebug:info[propmap.cpp:408] Rejecting property "indexOrigin:{<98.5486|81.7746|-15.4209|0>(fvector4)}" because "{<98.1819|81.0055|-11.5536|0>(fvector4)}" is allready there ImageIO:notice[io_interface.cpp:33] Image of size <64|64|30|1> written to niftiDialect_postConverted/image_2.nii using Nifti

192-168-128-39:14328.80_20111018.VER1 Lydi$ isisconv -dCore info -in DICOM/00000010 -rf ima -out niftiDialectpostConverted/image{sequenceNumber}{DICOM/ImageType}{acquisitionNumber}.nii ImageIO:warning[io_interface.cpp:51] Missing property "DICOM/PatientsAge" ImageIO:warning[io_interface.cpp:110] The property "ORIGINAL,PRIMARY,M,ND,NORM,WAS_MOSAIC" does not exist - ignoring it CoreDebug:warning[propmap.hpp:503] Returning <0|0|0|0>(fvector4) because property voxelGap does not exist CoreDebug:info[propmap.cpp:408] Rejecting property "indexOrigin:{<98.5486|81.7746|-15.4209|0>(fvector4)}" because "{<98.1819|81.0055|-11.5536|0>(fvector4)}" is allready there ImageIO:notice[io_interface.cpp:33] Image of size <64|64|30|1> written to niftiDialect_postConverted/image_2__.nii using Nifti

192-168-128-39:14328.80_20111018.VER1 Lydi$ isisconv -dCore info -in DICOM/0000011 -rf ima -out niftiDialectpostConverted/image{sequenceNumber}{DICOM/ImageType}{acquisitionNumber}.nii 00000110 00000111 00000112 00000113 00000114 00000115 00000116 00000117 00000118 00000119
192-168-128-39:14328.80_20111018.VER1 Lydi$ isisconv -dCore info -in DICOM/00000110 -rf ima -out niftiDialectpostConverted/image{sequenceNumber}{DICOM/ImageType}{acquisitionNumber}.nii ImageIO:warning[io_interface.cpp:51] Missing property "DICOM/PatientsAge" ImageIO:warning[io_interface.cpp:110] The property "ORIGINAL,PRIMARY,M,ND,NORM,MOCO,WAS_MOSAIC" does not exist - ignoring it CoreDebug:warning[propmap.hpp:503] Returning <0|0|0|0>(fvector4) because property voxelGap does not exist CoreDebug:info[propmap.cpp:408] Rejecting property "indexOrigin:{<98.5486|81.7746|-15.4209|0>(fvector4)}" because "{<98.1819|81.0055|-11.5536|0>(fvector4)}" is allready there ImageIO:notice[io_interface.cpp:33] Image of size <64|64|30|1> written to niftiDialect_postConverted/image_7__.nii using Nifti

lydiatgit commented 12 years ago

find the data: /scr/feige1/data/Testdaten_rtExport_Verio_2011_10_18/14328.80_20111018.VER1/

DerOrfa commented 12 years ago

about the thing with ORIGINAL,PRIMARY,M,ND,NORM,MOCO,WAS_MOSAIC

The algorithm searches for anything in "{}", checks if thats an property and replaces it by the result of the .toString-function run on that propery

So in "image{sequenceNumber}{DICOM/ImageType}_{acquisitionNumber}.nii":

Should be fixed with ada01d67ae269606024e47f2f66bb3240624c389.

DerOrfa commented 12 years ago

about the rejected property

This message is send by the join command when some properties which should be joined in, are already there, but have different values.

In this case its caused by a getChunk which (in this case needlessly) joines the properties of the image back into the chunk which is used to copy raw data into a nifti image. And as the chunk has its own indexOrigin as well as the image, the indexOrigin of the image is rejected. A pretty common effect and harmless in most cases.

Thats why it is an info message.

Anyway, as the join is not needed at this point, its removed in 840bc45dc1bdb7fde2948baaf241a69d24faa4d1

DerOrfa commented 12 years ago

about the rest:

DerOrfa commented 12 years ago

Ok, seems like some dicom-attributes where renamed in dcmtk 3.6. That's the reason why "DICOM/PatientsAge" and "subjectName" where not found. I opened an issue about it (#38)