#include "bbtkAtomicBlackBox.h"
#include "itkBinaryThresholdImageFilter.h"
+#include "bbtkItkBlackBoxMacros.h"
#include "bbitkImage.h"
namespace bbitk
public bbtk::AtomicBlackBox,
public itk::BinaryThresholdImageFilter<T,T>
{
- BBTK_USER_BLACK_BOX_INTERFACE(BinaryThresholdImageFilter,
- bbtk::AtomicBlackBox);
+ 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)");
:
public bbtk::AtomicBlackBox
{
- BBTK_USER_BLACK_BOX_INTERFACE(BinaryThresholdImageFilterGeneric,
+ BBTK_BLACK_BOX_INTERFACE(BinaryThresholdImageFilterGeneric,
bbtk::AtomicBlackBox);
BBTK_DECLARE_INPUT(In,anyImagePointer);
BBTK_DECLARE_INPUT(LowerThreshold,double);
<<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);
}