]> Creatis software - bbtk.git/commitdiff
#3520 Add DropDuplicatePositions to bbgdcmvtk::GetXCoherentInfoGdcmReader box
authoreduardo.davila@creatis.insa-lyon.fr <eduardo.davila@creatis.insa-lyon.fr>
Fri, 21 Jun 2024 13:01:40 +0000 (15:01 +0200)
committereduardo.davila@creatis.insa-lyon.fr <eduardo.davila@creatis.insa-lyon.fr>
Fri, 21 Jun 2024 13:01:40 +0000 (15:01 +0200)
packages/gdcmvtk/src/bbgdcmvtkGetXCoherentInfoGdcmReader.cxx
packages/gdcmvtk/src/bbgdcmvtkGetXCoherentInfoGdcmReader.h

index 25700ecdd80ce3d34c415c07e44265ced2a230d2..02a1466a92c1eb53a01cec7015880a7dabc02c5d 100644 (file)
@@ -173,6 +173,7 @@ void GetXCoherentInfoGdcmReader::Process()
             }
         } // for i
         sh = GDCM_NAME_SPACE::SerieHelper::New();
+        sh->SetDropDuplicatePositions( bbGetInputDropDuplicatePositions() );
         l = &lstFiles;
         sh->ImagePositionPatientOrdering( l );
     } else{
@@ -363,6 +364,7 @@ void GetXCoherentInfoGdcmReader::bbUserSetDefaultValues()
    bbSetInputIn(init);  
    bbSetInputReadRaw(true);  
    bbSetInputRespectSerieUID(true);
+   bbSetInputDropDuplicatePositions(true);
    //reader=NULL;   /// \TODO fixme JPR
 }
 
index da22dc0151a897ec2d34e01fd76941ec0e8963fc..4133ac2bf2ece81d04a460cffb359989ca5f8dc2 100644 (file)
@@ -57,18 +57,19 @@ class bbgdcmvtk_EXPORT GetXCoherentInfoGdcmReader
 
   BBTK_BLACK_BOX_INTERFACE(GetXCoherentInfoGdcmReader,bbtk::AtomicBlackBox);
 
-  BBTK_DECLARE_INPUT(In                                , std::vector<std::string>);
-  BBTK_DECLARE_INPUT(IPPSort           , bool);
-  BBTK_DECLARE_INPUT(DicomTags         , std::vector<std::string>);
-  BBTK_DECLARE_INPUT(ReadRaw           , bool);
-  BBTK_DECLARE_INPUT(RespectSerieUID, bool);
-
-  BBTK_DECLARE_OUTPUT(Out                      , vtkImageData *);
-  BBTK_DECLARE_OUTPUT(OutFileNames  , std::vector<std::string>);
-  BBTK_DECLARE_OUTPUT(IPP                      , std::vector<double>);
-  BBTK_DECLARE_OUTPUT(IOP                      , std::vector<double>);
-  BBTK_DECLARE_OUTPUT(PixelSpacing     , std::vector<double>);
-  BBTK_DECLARE_OUTPUT(DicomInfo                , VectorMapInfoDicom);
+  BBTK_DECLARE_INPUT(In                                            , std::vector<std::string>);
+  BBTK_DECLARE_INPUT(IPPSort                       , bool);
+  BBTK_DECLARE_INPUT(DicomTags                     , std::vector<std::string>);
+  BBTK_DECLARE_INPUT(ReadRaw                       , bool);
+  BBTK_DECLARE_INPUT(RespectSerieUID            , bool);
+  BBTK_DECLARE_INPUT(DropDuplicatePositions     , bool);
+
+  BBTK_DECLARE_OUTPUT(Out                                  , vtkImageData *);
+  BBTK_DECLARE_OUTPUT(OutFileNames              , std::vector<std::string>);
+  BBTK_DECLARE_OUTPUT(IPP                                  , std::vector<double>);
+  BBTK_DECLARE_OUTPUT(IOP                                  , std::vector<double>);
+  BBTK_DECLARE_OUTPUT(PixelSpacing                 , std::vector<double>);
+  BBTK_DECLARE_OUTPUT(DicomInfo                            , VectorMapInfoDicom);
 
   BBTK_PROCESS(Process);
   void Process();
@@ -98,18 +99,20 @@ BBTK_BEGIN_DESCRIBE_BLACK_BOX(GetXCoherentInfoGdcmReader,bbtk::AtomicBlackBox);
   BBTK_DESCRIPTION("Get Dicom info from a File Set (a list of Dicom image file names) and read (as a vtkImageData)");
   BBTK_CATEGORY("");
 
-  BBTK_INPUT(GetXCoherentInfoGdcmReader,In                             ,"List of Dicom image file names", std::vector<std::string>,"");
-  BBTK_INPUT(GetXCoherentInfoGdcmReader,IPPSort                        ,"Sort on Image Position Patient", bool,"");
-  BBTK_INPUT(GetXCoherentInfoGdcmReader,DicomTags              ,"Dicom Tags (vector of Dicom tags ex: D0028_0030  D0020_0037)", std::vector<std::string>,"");
-  BBTK_INPUT(GetXCoherentInfoGdcmReader,ReadRaw                    ,"(default true) false: not read raw just dicom tags", bool,"");
-  BBTK_INPUT(GetXCoherentInfoGdcmReader,RespectSerieUID ,"(default true) Respect Serie UID to be read", bool,"");
-
-  BBTK_OUTPUT(GetXCoherentInfoGdcmReader,Out                   ,"Output image"                                         , vtkImageData *,"");
-  BBTK_OUTPUT(GetXCoherentInfoGdcmReader,OutFileNames   ,"List of the files in the good order"  , std::vector<std::string>,"");
-  BBTK_OUTPUT(GetXCoherentInfoGdcmReader,IPP                   ,"Image Position (Patient)"                     , std::vector<double>,"");
-  BBTK_OUTPUT(GetXCoherentInfoGdcmReader,IOP                   ,"Image Orientation (Patient)"          , std::vector<double>,"");
-  BBTK_OUTPUT(GetXCoherentInfoGdcmReader,PixelSpacing  ,"Pixel Spacing"                                        , std::vector<double>,"");
-  BBTK_OUTPUT(GetXCoherentInfoGdcmReader,DicomInfo             ,"vector of maps of Dicom tags"         , VectorMapInfoDicom,"");
+  BBTK_INPUT(GetXCoherentInfoGdcmReader,In                                     ,"List of Dicom image file names", std::vector<std::string>,"");
+  BBTK_INPUT(GetXCoherentInfoGdcmReader,IPPSort                                ,"Sort on Image Position Patient", bool,"");
+  BBTK_INPUT(GetXCoherentInfoGdcmReader,DicomTags                      ,"Dicom Tags (vector of Dicom tags ex: D0028_0030  D0020_0037)", std::vector<std::string>,"");
+  BBTK_INPUT(GetXCoherentInfoGdcmReader,ReadRaw                            ,"(default true) false: not read raw just dicom tags", bool,"");
+  BBTK_INPUT(GetXCoherentInfoGdcmReader,RespectSerieUID         ,"(default true) Respect Serie UID to be read", bool,"");
+  BBTK_INPUT(GetXCoherentInfoGdcmReader,DropDuplicatePositions  ,"(default true) Drop slices with Duplicate Positions", bool,"");
+
+
+  BBTK_OUTPUT(GetXCoherentInfoGdcmReader,Out                           ,"Output image"                                         , vtkImageData *,"");
+  BBTK_OUTPUT(GetXCoherentInfoGdcmReader,OutFileNames           ,"List of the files in the good order"  , std::vector<std::string>,"");
+  BBTK_OUTPUT(GetXCoherentInfoGdcmReader,IPP                           ,"Image Position (Patient)"                     , std::vector<double>,"");
+  BBTK_OUTPUT(GetXCoherentInfoGdcmReader,IOP                           ,"Image Orientation (Patient)"          , std::vector<double>,"");
+  BBTK_OUTPUT(GetXCoherentInfoGdcmReader,PixelSpacing          ,"Pixel Spacing"                                        , std::vector<double>,"");
+  BBTK_OUTPUT(GetXCoherentInfoGdcmReader,DicomInfo                     ,"vector of maps of Dicom tags"         , VectorMapInfoDicom,"");
 BBTK_END_DESCRIBE_BLACK_BOX(GetXCoherentInfoGdcmReader);
 } // EO namespace bbgdcmvtk