X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk_Slicer_PKG%2Fsrc%2FbbSlicerN4ITKMRIBiascorrection.h;fp=bbtk_Slicer_PKG%2Fsrc%2FbbSlicerN4ITKMRIBiascorrection.h;h=288c385be2ff55a792570d453a6de4746c6b4403;hb=e7b4e2c9254e9e431f74acc92e3f0d40fc5e7ef6;hp=0000000000000000000000000000000000000000;hpb=cd590ce5fff20d69c7060340235a35e9c2a9ef86;p=creaCLI.git diff --git a/bbtk_Slicer_PKG/src/bbSlicerN4ITKMRIBiascorrection.h b/bbtk_Slicer_PKG/src/bbSlicerN4ITKMRIBiascorrection.h new file mode 100644 index 0000000..288c385 --- /dev/null +++ b/bbtk_Slicer_PKG/src/bbSlicerN4ITKMRIBiascorrection.h @@ -0,0 +1,80 @@ +#ifndef __bbSlicerN4ITKMRIBiascorrection_h_INCLUDED__ +#define __bbSlicerN4ITKMRIBiascorrection_h_INCLUDED__ + +#include "bbSlicer_EXPORT.h" +#include "bbtkAtomicBlackBox.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "CreationTool.h" + +namespace bbSlicer { + + class bbSlicer_EXPORT N4ITKMRIBiascorrection + : + public bbtk::AtomicBlackBox { + BBTK_BLACK_BOX_INTERFACE ( N4ITKMRIBiascorrection , bbtk::AtomicBlackBox ) ; + + // GENERATED ARGS + +BBTK_DECLARE_INPUT ( inputImageName , std::string ); +BBTK_DECLARE_INPUT ( maskImageName , std::string ); +BBTK_DECLARE_INPUT ( outputImageName , std::string ); +BBTK_DECLARE_INPUT ( outputBiasFieldName , std::string ); +BBTK_DECLARE_INPUT ( numberOfIterations , std::vector ); +BBTK_DECLARE_INPUT ( convergenceThreshold , float ); +BBTK_DECLARE_INPUT ( initialMeshResolution , std::vector ); +BBTK_DECLARE_INPUT ( splineDistance , float ); +BBTK_DECLARE_INPUT ( shrinkFactor , int ); +BBTK_DECLARE_INPUT ( bsplineOrder , int ); +BBTK_DECLARE_INPUT ( weightImageName , std::string ); +BBTK_DECLARE_INPUT ( histogramSharpening , std::vector ); + + // EO GENERATED ARGS + + BBTK_PROCESS ( Process ) ; + void Process ( ) ; + private: + void execute ( std::string lib , int _argc , char * _argv[] ) ; + } ; + + BBTK_BEGIN_DESCRIBE_BLACK_BOX ( N4ITKMRIBiascorrection , bbtk::AtomicBlackBox ) ; + BBTK_NAME ( "N4ITKMRIBiascorrection" ) ; + BBTK_AUTHOR ( "Nick Tustison algorithm and ITK implementation, Andrey Fedorov Slicer wrapping, Ron Kikinis PI" ) ; + BBTK_DESCRIPTION ( "Performs MRI bias correction using N4 algorithm. This module is based on the ITK filters contributed in the following publication: Tustison N, Gee J 'N4ITK: Nick's N3 ITK Implementation For MRI Bias Field Correction', The Insight Journal 2009 January-June, http://hdl.handle.net/10380/3053" ) ; + BBTK_CATEGORY ( "Filtering" ) ; + + // GENERATED DESCRPTION + +BBTK_INPUT(N4ITKMRIBiascorrection , inputImageName , "inputImageName" , std::string, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , maskImageName , "maskImageName" , std::string, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , outputImageName , "outputImageName" , std::string, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , outputBiasFieldName , "outputBiasFieldName" , std::string, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , numberOfIterations , "numberOfIterations" , std::vector, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , convergenceThreshold , "convergenceThreshold" , float, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , initialMeshResolution , "initialMeshResolution" , std::vector, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , splineDistance , "splineDistance" , float, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , shrinkFactor , "shrinkFactor" , int, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , bsplineOrder , "bsplineOrder" , int, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , weightImageName , "weightImageName" , std::string, ""); +BBTK_INPUT(N4ITKMRIBiascorrection , histogramSharpening , "histogramSharpening" , std::vector, ""); + + // EO GENERATED DESCRIPTION + + BBTK_END_DESCRIBE_BLACK_BOX ( N4ITKMRIBiascorrection ) ; +} + +#endif // __bbSlicerN4ITKMRIBiascorrection_h_INCLUDED__ + +