#ifdef _USE_ITK_
-#include "bbtkUserBlackBox.h"
+#include "bbtkAtomicBlackBox.h"
#include "itkBinaryThresholdImageFilter.h"
+#include "bbtkItkBlackBoxMacros.h"
#include "bbitkImage.h"
namespace bbitk
template <class T>
class /*BBTK_EXPORT*/ BinaryThresholdImageFilter
:
- public bbtk::UserBlackBox,
+ public bbtk::AtomicBlackBox,
public itk::BinaryThresholdImageFilter<T,T>
{
- BBTK_USER_BLACK_BOX_INTERFACE(BinaryThresholdImageFilter,
- bbtk::UserBlackBox);
+ BBTK_TEMPLATE_BLACK_BOX_INTERFACE(BinaryThresholdImageFilter,
+ bbtk::AtomicBlackBox,T);
typedef itk::BinaryThresholdImageFilter<T,T> itkParent;
- BBTK_DECLARE_ITK_INPUT(itkParent,In,const T*);
- BBTK_DECLARE_ITK_PARAM(itkParent,LowerThreshold,typename T::PixelType);
- BBTK_DECLARE_ITK_PARAM(itkParent,UpperThreshold,typename T::PixelType);
- BBTK_DECLARE_ITK_PARAM(itkParent,InsideValue,typename T::PixelType);
- BBTK_DECLARE_ITK_PARAM(itkParent,OutsideValue,typename T::PixelType);
- BBTK_DECLARE_ITK_OUTPUT(itkParent,Out,T*);
- BBTK_PROCESS(itkParent::Update);
- void bbDelete() { itkParent::UnRegister(); }
+ BBTK_DECLARE_ITK_INPUT(In,const T*);
+ BBTK_DECLARE_ITK_PARAM(LowerThreshold,typename T::PixelType);
+ BBTK_DECLARE_ITK_PARAM(UpperThreshold,typename T::PixelType);
+ BBTK_DECLARE_ITK_PARAM(InsideValue,typename T::PixelType);
+ BBTK_DECLARE_ITK_PARAM(OutsideValue,typename T::PixelType);
+ BBTK_DECLARE_ITK_OUTPUT(Out,T*);
+ BBTK_ITK_PROCESS();
+ BBTK_ITK_DELETE();
void bbUserConstructor() { Init(); }
void bbUserCopyConstructor() { Init(); }
};
- BBTK_BEGIN_DESCRIBE_TEMPLATE_BLACK_BOX(BinaryThresholdImageFilter);
+ BBTK_BEGIN_DESCRIBE_TEMPLATE_BLACK_BOX(BinaryThresholdImageFilter,
+ bbtk::AtomicBlackBox);
BBTK_NAME("BinaryThresholdImageFilter<"+bbtk::TypeName<T>()+">");
BBTK_AUTHOR("laurent.guigues@creatis.insa-lyon.fr");
BBTK_DESCRIPTION("Binarizes an image by thresholding (bbification of itk::BinaryThresholdImageFilter)");
//===================================================
class /*BBTK_EXPORT*/ BinaryThresholdImageFilterGeneric
:
- public bbtk::UserBlackBox
+ public bbtk::AtomicBlackBox
{
- BBTK_USER_BLACK_BOX_INTERFACE(BinaryThresholdImageFilterGeneric,
- bbtk::UserBlackBox);
+ BBTK_BLACK_BOX_INTERFACE(BinaryThresholdImageFilterGeneric,
+ bbtk::AtomicBlackBox);
BBTK_DECLARE_INPUT(In,anyImagePointer);
BBTK_DECLARE_INPUT(LowerThreshold,double);
BBTK_DECLARE_INPUT(UpperThreshold,double);
};
BBTK_BEGIN_DESCRIBE_BLACK_BOX(BinaryThresholdImageFilterGeneric,
- bbtk::UserBlackBox);
+ bbtk::AtomicBlackBox);
BBTK_NAME("BinaryThresholdImageFilter");
- BBTK_AUTHOR("laurent.guigues@creatis.insa-lyon.fr");
+ BBTK_AUTHOR("laurent.guigues at creatis.insa-lyon.fr");
+ BBTK_CATEGORY("filter;image");
BBTK_DESCRIPTION("Binarizes an image by thresholding (generic bbification of itk::BinaryThresholdImageFilter)");
BBTK_INPUT(BinaryThresholdImageFilterGeneric,In,
- "Input image. Can be any itk::Image<T,D>*",anyImagePointer);
+ "Input image. Can be any itk::Image<T,D>*",anyImagePointer,"");
BBTK_INPUT(BinaryThresholdImageFilterGeneric,LowerThreshold,
- "Lower threshold",double);
+ "Lower threshold",double,"");
BBTK_INPUT(BinaryThresholdImageFilterGeneric,UpperThreshold,
- "Upper threshold",double);
+ "Upper threshold",double,"");
BBTK_INPUT(BinaryThresholdImageFilterGeneric,InsideValue,
- "Output value for pixels inside thresholds",double);
+ "Output value for pixels inside thresholds",double,"");
BBTK_INPUT(BinaryThresholdImageFilterGeneric,OutsideValue,
- "Output value for pixels outside thresholds",double);
+ "Output value for pixels outside thresholds",double,"");
BBTK_OUTPUT(BinaryThresholdImageFilterGeneric,Out,
"Output image. Of the same type and dimension than the input image",
- anyImagePointer);
+ anyImagePointer,"");
BBTK_END_DESCRIBE_BLACK_BOX(BinaryThresholdImageFilterGeneric);
<<bbtk::TypeName<T>()<<">()"<<std::endl);
typedef BinaryThresholdImageFilter<T> FilterType;
- FilterType* f = FilterType::bbNew("Temp");
+ typename FilterType::Pointer f = FilterType::New("Temp");
f->bbSetInputIn( this->bbGetInputIn().get<T*>());
f->bbSetInputLowerThreshold ( (typename T::PixelType)
this->bbGetInputLowerThreshold() );
f->bbExecute();
f->bbGetOutputOut()->Register();
this->bbSetOutputOut( f->bbGetOutputOut() );
- f->bbDelete();
+
bbtkDebugDecTab("Core",9);
}