--- /dev/null
+#ifndef __bbSlicerForegroundmaskingBRAINS_h_INCLUDED__
+#define __bbSlicerForegroundmaskingBRAINS_h_INCLUDED__
+
+#include "bbSlicer_EXPORT.h"
+#include "bbtkAtomicBlackBox.h"
+
+#include <vector>
+#include <cstdlib>
+#include <dlfcn.h>
+#include <sstream>
+#include <fstream>
+#include <iostream>
+
+#include <ModuleDescriptionUtilities.h>
+#include <ModuleDescriptionParser.h>
+#include <ModuleParameterGroup.h>
+#include <ModuleDescription.h>
+#include <ModuleParameter.h>
+
+#include "CreationTool.h"
+
+namespace bbSlicer {
+
+ class bbSlicer_EXPORT ForegroundmaskingBRAINS
+ :
+ public bbtk::AtomicBlackBox {
+ BBTK_BLACK_BOX_INTERFACE ( ForegroundmaskingBRAINS , bbtk::AtomicBlackBox ) ;
+
+ // GENERATED ARGS
+
+BBTK_DECLARE_INPUT ( inputVolume , std::string );
+BBTK_DECLARE_INPUT ( outputROIMaskVolume , std::string );
+BBTK_DECLARE_INPUT ( outputClippedVolumeROI , std::string );
+BBTK_DECLARE_INPUT ( otsuPercentileThreshold , double );
+BBTK_DECLARE_INPUT ( thresholdCorrectionFactor , double );
+BBTK_DECLARE_INPUT ( closingSize , double );
+BBTK_DECLARE_INPUT ( ROIAutoDilateSize , double );
+BBTK_DECLARE_INPUT ( outputVolumePixelType , std::string );
+BBTK_DECLARE_INPUT ( numberOfThreads , int );
+
+ // EO GENERATED ARGS
+
+ BBTK_PROCESS ( Process ) ;
+ void Process ( ) ;
+ private:
+ void execute ( std::string lib , int _argc , char * _argv[] ) ;
+ } ;
+
+ BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ForegroundmaskingBRAINS , bbtk::AtomicBlackBox ) ;
+ BBTK_NAME ( "ForegroundmaskingBRAINS" ) ;
+ BBTK_AUTHOR ( "Hans J. Johnson, hans-johnson -at- uiowa.edu, http://wwww.psychiatry.uiowa.edu" ) ;
+ BBTK_DESCRIPTION ( "This tool uses a combination of otsu thresholding and a closing operations to identify the most prominant foreground region in an image." ) ;
+ BBTK_CATEGORY ( "Segmentation.Specialized" ) ;
+
+ // GENERATED DESCRPTION
+
+BBTK_INPUT(ForegroundmaskingBRAINS , inputVolume , "inputVolume" , std::string, "");
+BBTK_INPUT(ForegroundmaskingBRAINS , outputROIMaskVolume , "outputROIMaskVolume" , std::string, "");
+BBTK_INPUT(ForegroundmaskingBRAINS , outputClippedVolumeROI , "outputClippedVolumeROI" , std::string, "");
+BBTK_INPUT(ForegroundmaskingBRAINS , otsuPercentileThreshold , "otsuPercentileThreshold" , double, "");
+BBTK_INPUT(ForegroundmaskingBRAINS , thresholdCorrectionFactor , "thresholdCorrectionFactor" , double, "");
+BBTK_INPUT(ForegroundmaskingBRAINS , closingSize , "closingSize" , double, "");
+BBTK_INPUT(ForegroundmaskingBRAINS , ROIAutoDilateSize , "ROIAutoDilateSize" , double, "");
+BBTK_INPUT(ForegroundmaskingBRAINS , outputVolumePixelType , "outputVolumePixelType" , std::string, "");
+BBTK_INPUT(ForegroundmaskingBRAINS , numberOfThreads , "numberOfThreads" , int, "");
+
+ // EO GENERATED DESCRIPTION
+
+ BBTK_END_DESCRIBE_BLACK_BOX ( ForegroundmaskingBRAINS ) ;
+}
+
+#endif // __bbSlicerForegroundmaskingBRAINS_h_INCLUDED__
+
+