From: Simon Rit Date: Thu, 10 Nov 2011 15:11:58 +0000 (+0100) Subject: Merge branch 'master' of /home/dsarrut/clitk3.server X-Git-Tag: v1.3.0~173 X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=commitdiff_plain;h=11d02d3d4012f1ac4a7652eaac626071e7c459ec;hp=d8f6cf956310ff7b123df4ad82e20b61831d09ff;p=clitk.git Merge branch 'master' of /home/dsarrut/clitk3.server --- diff --git a/itk/clitkRelativePositionDataBase.cxx b/itk/clitkRelativePositionDataBase.cxx index a9b7327..1512e4c 100644 --- a/itk/clitkRelativePositionDataBase.cxx +++ b/itk/clitkRelativePositionDataBase.cxx @@ -231,7 +231,14 @@ namespace clitk { return true; } //-------------------------------------------------------------------- - + + //-------------------------------------------------------------------- + std::ostream& operator<<(std::ostream & os, const clitk::RelativePositionInformationType & rp) + { + rp.Print(os); + return os; + } + //-------------------------------------------------------------------- } // end namespace clitk //-------------------------------------------------------------------- diff --git a/itk/clitkRelativePositionDataBase.h b/itk/clitkRelativePositionDataBase.h index 57cdcec..fa83a3e 100644 --- a/itk/clitkRelativePositionDataBase.h +++ b/itk/clitkRelativePositionDataBase.h @@ -109,6 +109,7 @@ namespace clitk { os << std::endl; } }; + std::ostream& operator<<(std::ostream & os, const clitk::RelativePositionInformationType & rp); //-------------------------------------------------------------------- diff --git a/itk/itkBSplineInterpolateImageFunctionWithLUT.h b/itk/itkBSplineInterpolateImageFunctionWithLUT.h index 5903828..7fd7ab8 100644 --- a/itk/itkBSplineInterpolateImageFunctionWithLUT.h +++ b/itk/itkBSplineInterpolateImageFunctionWithLUT.h @@ -61,6 +61,14 @@ namespace itk { /** Set the input image. This must be set by the user. */ virtual void SetInputImage(const TImageType * inputData); + /** Evaluate the function at a ContinuousIndex position. + Overwritten for taking LUT into account (RP: multi-threading-compatible version, + the threadID is actually ignored) */ + virtual OutputType EvaluateAtContinuousIndex(const ContinuousIndexType & index, unsigned int /* threadID */ ) const + { + return this->EvaluateAtContinuousIndex( index ); + } + /** Evaluate the function at a ContinuousIndex position. Overwritten for taking LUT into account */ virtual OutputType EvaluateAtContinuousIndex(const ContinuousIndexType & index ) const; diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt index bd56542..2484c48 100644 --- a/tools/CMakeLists.txt +++ b/tools/CMakeLists.txt @@ -321,7 +321,7 @@ IF (CLITK_BUILD_TOOLS) SET(TOOLS_INSTALL ${TOOLS_INSTALL} clitkLabelImageOverlapMeasure) WRAP_GGO(clitkRelativePositionAnalyzer_GGO_C clitkRelativePositionAnalyzer.ggo) - ADD_EXECUTABLE(clitkRelativePositionAnalyzer clitkRelativePositionAnalyzer.cxx ${clitkRelativePositionAnalyzer_GGO_C}) + ADD_EXECUTABLE(clitkRelativePositionAnalyzer ../itk/clitkRelativePositionDataBase.cxx clitkRelativePositionAnalyzer.cxx ${clitkRelativePositionAnalyzer_GGO_C}) TARGET_LINK_LIBRARIES(clitkRelativePositionAnalyzer clitkSegmentationGgoLib clitkCommon ${ITK_LIBRARIES}) SET(TOOLS_INSTALL ${TOOLS_INSTALL} clitkRelativePositionAnalyzer) @@ -331,7 +331,7 @@ IF (CLITK_BUILD_TOOLS) SET(TOOLS_INSTALL ${TOOLS_INSTALL} clitkRelativePositionDataBaseAnalyzer) WRAP_GGO(clitkRelativePositionDataBaseBuilder_GGO_C clitkRelativePositionDataBaseBuilder.ggo) - ADD_EXECUTABLE(clitkRelativePositionDataBaseBuilder clitkRelativePositionDataBaseBuilder.cxx ${clitkRelativePositionDataBaseBuilder_GGO_C}) + ADD_EXECUTABLE(clitkRelativePositionDataBaseBuilder ../itk/clitkRelativePositionDataBase.cxx clitkRelativePositionDataBaseBuilder.cxx ${clitkRelativePositionDataBaseBuilder_GGO_C}) TARGET_LINK_LIBRARIES(clitkRelativePositionDataBaseBuilder clitkSegmentationGgoLib clitkCommon ${ITK_LIBRARIES}) SET(TOOLS_INSTALL ${TOOLS_INSTALL} clitkRelativePositionDataBaseBuilder) diff --git a/tools/clitkGammaIndex.cxx b/tools/clitkGammaIndex.cxx index be0f807..7e5a92e 100644 --- a/tools/clitkGammaIndex.cxx +++ b/tools/clitkGammaIndex.cxx @@ -224,6 +224,17 @@ int main(int argc,char * argv[]) // load reference vtkImageData* reference = loadImage(reference_filename); assert(reference); + + // translate target with arguments values + // reference is translated instead of target so that the output space stay the same as target + { + double reference_origin[3]; + reference->GetOrigin(reference_origin); + reference_origin[0] -= args_info.translation_x_arg; + reference_origin[1] -= args_info.translation_y_arg; + reference_origin[2] -= args_info.translation_z_arg; + reference->SetOrigin(reference_origin); + } // intensity normalisation if (!use_dose_margin) { @@ -246,6 +257,7 @@ int main(int argc,char * argv[]) vtkImageData* target = loadImage(target_filename); assert(target); + // allocate output OutputImageType::Pointer output = OutputImageType::New(); { diff --git a/tools/clitkGammaIndex.ggo b/tools/clitkGammaIndex.ggo index 20c87f9..b41ba75 100644 --- a/tools/clitkGammaIndex.ggo +++ b/tools/clitkGammaIndex.ggo @@ -12,4 +12,7 @@ option "output" o "Output image filename" string yes option "spatial-margin" s "Spatial margin [mm]" double yes option "relative-dose-margin" r "Dose margin relative to max dose in reference [%]" double no option "absolute-dose-margin" d "Absolute dose margin [Gray]" double no +option "translation-x" x "Target relative position x [mm]" double default="0" no +option "translation-y" y "Target relative position y [mm]" double default="0" no +option "translation-z" z "Target relative position z [mm]" double default="0" no