From: jpr Date: Tue, 29 Mar 2011 13:33:48 +0000 (+0000) Subject: Add some explanations X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?p=gdcm.git;a=commitdiff_plain;h=8f9e2f78143c81f382d33d8b22c12332b1875f1c Add some explanations --- diff --git a/vtk/vtkGdcm4DSplitter.cxx b/vtk/vtkGdcm4DSplitter.cxx index 378046f3..091d3d78 100644 --- a/vtk/vtkGdcm4DSplitter.cxx +++ b/vtk/vtkGdcm4DSplitter.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: vtkGdcm4DSplitter.cxx,v $ Language: C++ - Date: $Date: 2011/03/29 12:51:21 $ - Version: $Revision: 1.2 $ + Date: $Date: 2011/03/29 13:33:48 $ + Version: $Revision: 1.3 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -27,6 +27,73 @@ On Wed, Feb 16, 2011 at 11:51 AM, Roger Bramon Feixas (ImageSeriesReader::GenerateData() line 393). */ + +/* ==================================================================== +vtkGdcm4DSplitter + +3D, 2D+T, 3D+T, n*2D+T, 4D images are not always stored the same way : + a single 'Dicom Serie', + several 'Dicom series' within a single directory + several 'Dicom series' within several directories +A 'Dicom Serie' doesn't mean always the same thing : + a given Slice along the time + a given Volume at a given time +Sometimes, an image within a serie is so artefacted than user decides to replace +it by an other image. + +User needs to be aware, *only him* knows want he wants to do. +vtkGdcm4DSplitter class does the job for hom +(it works on 3D or 2D+T images too) + +User will have to specify some points + +. Select input data +------------------- + +- a single directory + bool setDirName(std::string &dirName); +- a list of directories + bool setVectDirName(std::vector &vectDirName); +- a list of files + bool setVectFileName(std::vector &vectFileName); + +- Recursive directory exploration + void setRecursive(bool recursive); + +. Choose 'split' criterion : +--------------------------- + + - ImagePositionPatient + void setSplitOnPosition(); + - ImageOrientationPatient + void setSplitOnOrientation(); + - User choosen tag + void setSplitOnTag(unsigned short splitGroup, unsigned short splitElem); + void setSplitConvertToFloat(bool conv); + +. Choose 'sort' criterion : +-------------------------- + + - ImagePositionPatient + void setSortOnPosition(); + - User choosen tag + void setSortOnTag(unsigned short sortGroup, unsigned short sortElem); + void setSortConvertToFloat(bool conv) + +. Execute +----------- + bool Go(); + +. Get the result +---------------- + + -a single vtkImageData: + vtkImageData *GetImageData(); +- a vector of vtkImageData + std::vector *GetImageDataVector(); + + ===================================================================== */ + #include "gdcmSerieHelper.h" #include "vtkGdcmReader.h"