#ifndef __bbSlicerGeneralRegistrationBRAINS_h_INCLUDED__ #define __bbSlicerGeneralRegistrationBRAINS_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 GeneralRegistrationBRAINS : public bbtk::AtomicBlackBox { BBTK_BLACK_BOX_INTERFACE ( GeneralRegistrationBRAINS , bbtk::AtomicBlackBox ) ; // GENERATED ARGS BBTK_DECLARE_INPUT ( fixedVolume , std::string ); BBTK_DECLARE_INPUT ( movingVolume , std::string ); BBTK_DECLARE_INPUT ( bsplineTransform , std::string ); BBTK_DECLARE_INPUT ( linearTransform , std::string ); BBTK_DECLARE_INPUT ( outputVolume , std::string ); BBTK_DECLARE_INPUT ( initialTransform , std::string ); BBTK_DECLARE_INPUT ( initializeTransformMode , std::string ); BBTK_DECLARE_INPUT ( useRigid , bool ); BBTK_DECLARE_INPUT ( useScaleVersor3D , bool ); BBTK_DECLARE_INPUT ( useScaleSkewVersor3D , bool ); BBTK_DECLARE_INPUT ( useAffine , bool ); BBTK_DECLARE_INPUT ( useBSpline , bool ); BBTK_DECLARE_INPUT ( numberOfSamples , int ); BBTK_DECLARE_INPUT ( splineGridSize , std::vector ); BBTK_DECLARE_INPUT ( numberOfIterations , std::vector ); BBTK_DECLARE_INPUT ( maskProcessingMode , std::string ); BBTK_DECLARE_INPUT ( fixedBinaryVolume , std::string ); BBTK_DECLARE_INPUT ( movingBinaryVolume , std::string ); BBTK_DECLARE_INPUT ( outputFixedVolumeROI , std::string ); BBTK_DECLARE_INPUT ( outputMovingVolumeROI , std::string ); BBTK_DECLARE_INPUT ( outputVolumePixelType , std::string ); BBTK_DECLARE_INPUT ( backgroundFillValue , double ); BBTK_DECLARE_INPUT ( maskInferiorCutOffFromCenter , double ); BBTK_DECLARE_INPUT ( scaleOutputValues , bool ); BBTK_DECLARE_INPUT ( interpolationMode , std::string ); BBTK_DECLARE_INPUT ( minimumStepLength , std::vector ); BBTK_DECLARE_INPUT ( translationScale , double ); BBTK_DECLARE_INPUT ( reproportionScale , double ); BBTK_DECLARE_INPUT ( skewScale , double ); BBTK_DECLARE_INPUT ( maxBSplineDisplacement , double ); BBTK_DECLARE_INPUT ( histogramMatch , bool ); BBTK_DECLARE_INPUT ( numberOfHistogramBins , int ); BBTK_DECLARE_INPUT ( numberOfMatchPoints , int ); BBTK_DECLARE_INPUT ( strippedOutputTransform , std::string ); BBTK_DECLARE_INPUT ( transformType , std::vector ); BBTK_DECLARE_INPUT ( outputTransform , std::string ); BBTK_DECLARE_INPUT ( fixedVolumeTimeIndex , int ); BBTK_DECLARE_INPUT ( movingVolumeTimeIndex , int ); BBTK_DECLARE_INPUT ( medianFilterSize , std::vector ); BBTK_DECLARE_INPUT ( removeIntensityOutliers , double ); BBTK_DECLARE_INPUT ( useCachingOfBSplineWeightsMode , std::string ); BBTK_DECLARE_INPUT ( useExplicitPDFDerivativesMode , std::string ); BBTK_DECLARE_INPUT ( ROIAutoDilateSize , double ); BBTK_DECLARE_INPUT ( ROIAutoClosingSize , double ); BBTK_DECLARE_INPUT ( relaxationFactor , double ); BBTK_DECLARE_INPUT ( maximumStepLength , double ); BBTK_DECLARE_INPUT ( failureExitCode , int ); BBTK_DECLARE_INPUT ( writeTransformOnFailure , bool ); BBTK_DECLARE_INPUT ( numberOfThreads , int ); BBTK_DECLARE_INPUT ( forceMINumberOfThreads , int ); BBTK_DECLARE_INPUT ( debugLevel , int ); BBTK_DECLARE_INPUT ( costFunctionConvergenceFactor , double ); BBTK_DECLARE_INPUT ( projectedGradientTolerance , double ); BBTK_DECLARE_INPUT ( UseDebugImageViewer , bool ); BBTK_DECLARE_INPUT ( PromptAfterImageSend , bool ); BBTK_DECLARE_INPUT ( useMomentsAlign , bool ); BBTK_DECLARE_INPUT ( useGeometryAlign , bool ); BBTK_DECLARE_INPUT ( useCenterOfHeadAlign , bool ); BBTK_DECLARE_INPUT ( permitParameterVariation , std::vector ); BBTK_DECLARE_INPUT ( costMetric , std::string ); // EO GENERATED ARGS BBTK_PROCESS ( Process ) ; void Process ( ) ; private: void execute ( std::string lib , int _argc , char * _argv[] ) ; } ; BBTK_BEGIN_DESCRIBE_BLACK_BOX ( GeneralRegistrationBRAINS , bbtk::AtomicBlackBox ) ; BBTK_NAME ( "GeneralRegistrationBRAINS" ) ; BBTK_AUTHOR ( "Hans J. Johnson, hans-johnson -at- uiowa.edu, http://wwww.psychiatry.uiowa.edu" ) ; BBTK_DESCRIPTION ( "Register a three-dimensional volume to a reference volume Mattes Mutual Information by default. Described in BRAINSFit: Mutual Information Registrations of Whole-Brain 3D Images, Using the Insight Toolkit, Johnson H.J., Harris G., Williams K., The Insight Journal, 2007. http://hdl.handle.net/1926/1291" ) ; BBTK_CATEGORY ( "Registration" ) ; // GENERATED DESCRPTION BBTK_INPUT(GeneralRegistrationBRAINS , fixedVolume , "fixedVolume" , std::string, ""); BBTK_INPUT(GeneralRegistrationBRAINS , movingVolume , "movingVolume" , std::string, ""); BBTK_INPUT(GeneralRegistrationBRAINS , bsplineTransform , "bsplineTransform" , std::string, ""); BBTK_INPUT(GeneralRegistrationBRAINS , linearTransform , "linearTransform" , std::string, ""); BBTK_INPUT(GeneralRegistrationBRAINS , outputVolume , "outputVolume" , std::string, ""); BBTK_INPUT(GeneralRegistrationBRAINS , initialTransform , "initialTransform" , std::string, ""); BBTK_INPUT(GeneralRegistrationBRAINS , initializeTransformMode , "initializeTransformMode" , std::string, ""); BBTK_INPUT(GeneralRegistrationBRAINS , useRigid , "useRigid" , bool, ""); BBTK_INPUT(GeneralRegistrationBRAINS , useScaleVersor3D , "useScaleVersor3D" , bool, ""); BBTK_INPUT(GeneralRegistrationBRAINS , useScaleSkewVersor3D , "useScaleSkewVersor3D" , bool, ""); BBTK_INPUT(GeneralRegistrationBRAINS , useAffine , "useAffine" , bool, ""); BBTK_INPUT(GeneralRegistrationBRAINS , useBSpline , "useBSpline" , bool, ""); BBTK_INPUT(GeneralRegistrationBRAINS , numberOfSamples , "numberOfSamples" , int, ""); BBTK_INPUT(GeneralRegistrationBRAINS , splineGridSize , "splineGridSize" , std::vector, ""); BBTK_INPUT(GeneralRegistrationBRAINS , numberOfIterations , "numberOfIterations" , std::vector, ""); BBTK_INPUT(GeneralRegistrationBRAINS , maskProcessingMode , "maskProcessingMode" , std::string, ""); BBTK_INPUT(GeneralRegistrationBRAINS , fixedBinaryVolume , "fixedBinaryVolume" , std::string, ""); BBTK_INPUT(GeneralRegistrationBRAINS , movingBinaryVolume , "movingBinaryVolume" , std::string, ""); BBTK_INPUT(GeneralRegistrationBRAINS , outputFixedVolumeROI , "outputFixedVolumeROI" , std::string, ""); BBTK_INPUT(GeneralRegistrationBRAINS , outputMovingVolumeROI , "outputMovingVolumeROI" , std::string, ""); BBTK_INPUT(GeneralRegistrationBRAINS , outputVolumePixelType , "outputVolumePixelType" , std::string, ""); BBTK_INPUT(GeneralRegistrationBRAINS , backgroundFillValue , "backgroundFillValue" , double, ""); BBTK_INPUT(GeneralRegistrationBRAINS , maskInferiorCutOffFromCenter , "maskInferiorCutOffFromCenter" , double, ""); BBTK_INPUT(GeneralRegistrationBRAINS , scaleOutputValues , "scaleOutputValues" , bool, ""); BBTK_INPUT(GeneralRegistrationBRAINS , interpolationMode , "interpolationMode" , std::string, ""); BBTK_INPUT(GeneralRegistrationBRAINS , minimumStepLength , "minimumStepLength" , std::vector, ""); BBTK_INPUT(GeneralRegistrationBRAINS , translationScale , "translationScale" , double, ""); BBTK_INPUT(GeneralRegistrationBRAINS , reproportionScale , "reproportionScale" , double, ""); BBTK_INPUT(GeneralRegistrationBRAINS , skewScale , "skewScale" , double, ""); BBTK_INPUT(GeneralRegistrationBRAINS , maxBSplineDisplacement , "maxBSplineDisplacement" , double, ""); BBTK_INPUT(GeneralRegistrationBRAINS , histogramMatch , "histogramMatch" , bool, ""); BBTK_INPUT(GeneralRegistrationBRAINS , numberOfHistogramBins , "numberOfHistogramBins" , int, ""); BBTK_INPUT(GeneralRegistrationBRAINS , numberOfMatchPoints , "numberOfMatchPoints" , int, ""); BBTK_INPUT(GeneralRegistrationBRAINS , strippedOutputTransform , "strippedOutputTransform" , std::string, ""); BBTK_INPUT(GeneralRegistrationBRAINS , transformType , "transformType" , std::vector, ""); BBTK_INPUT(GeneralRegistrationBRAINS , outputTransform , "outputTransform" , std::string, ""); BBTK_INPUT(GeneralRegistrationBRAINS , fixedVolumeTimeIndex , "fixedVolumeTimeIndex" , int, ""); BBTK_INPUT(GeneralRegistrationBRAINS , movingVolumeTimeIndex , "movingVolumeTimeIndex" , int, ""); BBTK_INPUT(GeneralRegistrationBRAINS , medianFilterSize , "medianFilterSize" , std::vector, ""); BBTK_INPUT(GeneralRegistrationBRAINS , removeIntensityOutliers , "removeIntensityOutliers" , double, ""); BBTK_INPUT(GeneralRegistrationBRAINS , useCachingOfBSplineWeightsMode , "useCachingOfBSplineWeightsMode" , std::string, ""); BBTK_INPUT(GeneralRegistrationBRAINS , useExplicitPDFDerivativesMode , "useExplicitPDFDerivativesMode" , std::string, ""); BBTK_INPUT(GeneralRegistrationBRAINS , ROIAutoDilateSize , "ROIAutoDilateSize" , double, ""); BBTK_INPUT(GeneralRegistrationBRAINS , ROIAutoClosingSize , "ROIAutoClosingSize" , double, ""); BBTK_INPUT(GeneralRegistrationBRAINS , relaxationFactor , "relaxationFactor" , double, ""); BBTK_INPUT(GeneralRegistrationBRAINS , maximumStepLength , "maximumStepLength" , double, ""); BBTK_INPUT(GeneralRegistrationBRAINS , failureExitCode , "failureExitCode" , int, ""); BBTK_INPUT(GeneralRegistrationBRAINS , writeTransformOnFailure , "writeTransformOnFailure" , bool, ""); BBTK_INPUT(GeneralRegistrationBRAINS , numberOfThreads , "numberOfThreads" , int, ""); BBTK_INPUT(GeneralRegistrationBRAINS , forceMINumberOfThreads , "forceMINumberOfThreads" , int, ""); BBTK_INPUT(GeneralRegistrationBRAINS , debugLevel , "debugLevel" , int, ""); BBTK_INPUT(GeneralRegistrationBRAINS , costFunctionConvergenceFactor , "costFunctionConvergenceFactor" , double, ""); BBTK_INPUT(GeneralRegistrationBRAINS , projectedGradientTolerance , "projectedGradientTolerance" , double, ""); BBTK_INPUT(GeneralRegistrationBRAINS , UseDebugImageViewer , "UseDebugImageViewer" , bool, ""); BBTK_INPUT(GeneralRegistrationBRAINS , PromptAfterImageSend , "PromptAfterImageSend" , bool, ""); BBTK_INPUT(GeneralRegistrationBRAINS , useMomentsAlign , "useMomentsAlign" , bool, ""); BBTK_INPUT(GeneralRegistrationBRAINS , useGeometryAlign , "useGeometryAlign" , bool, ""); BBTK_INPUT(GeneralRegistrationBRAINS , useCenterOfHeadAlign , "useCenterOfHeadAlign" , bool, ""); BBTK_INPUT(GeneralRegistrationBRAINS , permitParameterVariation , "permitParameterVariation" , std::vector, ""); BBTK_INPUT(GeneralRegistrationBRAINS , costMetric , "costMetric" , std::string, ""); // EO GENERATED DESCRIPTION BBTK_END_DESCRIBE_BLACK_BOX ( GeneralRegistrationBRAINS ) ; } #endif // __bbSlicerGeneralRegistrationBRAINS_h_INCLUDED__