From: Eduardo DAVILA Date: Fri, 6 May 2016 14:47:33 +0000 (+0200) Subject: #2945 creaVtk Feature New Normal - ImageSlab box in creaVtk package X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?p=creaVtk.git;a=commitdiff_plain;h=1881fea361d821e87606520e6d6a2ca9ed128659 #2945 creaVtk Feature New Normal - ImageSlab box in creaVtk package --- diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkImageSlab.cxx b/bbtk_creaVtk_PKG/src/bbcreaVtkImageSlab.cxx new file mode 100644 index 0000000..8cb5eda --- /dev/null +++ b/bbtk_creaVtk_PKG/src/bbcreaVtkImageSlab.cxx @@ -0,0 +1,89 @@ +//===== +// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) +//===== +#include "bbcreaVtkImageSlab.h" +#include "bbcreaVtkPackage.h" +namespace bbcreaVtk +{ + +BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaVtk,ImageSlab) +BBTK_BLACK_BOX_IMPLEMENTATION(ImageSlab,bbtk::AtomicBlackBox); +//===== +// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) +//===== +void ImageSlab::Process() +{ + +// THE MAIN PROCESSING METHOD BODY +// Here we simply set the input 'In' value to the output 'Out' +// And print out the output value +// INPUT/OUTPUT ACCESSORS ARE OF THE FORM : +// void bbSet{Input|Output}NAME(const TYPE&) +// const TYPE& bbGet{Input|Output}NAME() const +// Where : +// * NAME is the name of the input/output +// (the one provided in the attribute 'name' of the tag 'input') +// * TYPE is the C++ type of the input/output +// (the one provided in the attribute 'type' of the tag 'input') + +// bbSetOutputOut( bbGetInputIn() ); +// std::cout << "Output value = " <MultiSliceOutputOff(); + } + + if (bbGetInputType()==0) { imageSlab->SetOperationToMean(); } + if (bbGetInputType()==1) { imageSlab->SetOperationToSum(); } + if (bbGetInputType()==2) { imageSlab->SetOperationToMin(); } + if (bbGetInputType()==3) { imageSlab->SetOperationToMax(); } + + imageSlab->SetInput( bbGetInputIn() ); + bbSetOutputOut( imageSlab->GetOutput() ); + +} +//===== +// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) +//===== +void ImageSlab::bbUserSetDefaultValues() +{ + +// SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX +// Here we initialize the input 'In' to 0 + + firsttime=true; + bbSetInputIn(NULL); + bbSetInputType(0); +} +//===== +// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) +//===== +void ImageSlab::bbUserInitializeProcessing() +{ + +// THE INITIALIZATION METHOD BODY : +// Here does nothing +// but this is where you should allocate the internal/output pointers +// if any + + +} +//===== +// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) +//===== +void ImageSlab::bbUserFinalizeProcessing() +{ + +// THE FINALIZATION METHOD BODY : +// Here does nothing +// but this is where you should desallocate the internal/output pointers +// if any + +} +} +// EO namespace bbcreaVtk + + diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkImageSlab.h b/bbtk_creaVtk_PKG/src/bbcreaVtkImageSlab.h new file mode 100644 index 0000000..1335f37 --- /dev/null +++ b/bbtk_creaVtk_PKG/src/bbcreaVtkImageSlab.h @@ -0,0 +1,58 @@ +//===== +// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) +//===== +#ifndef __bbcreaVtkImageSlab_h_INCLUDED__ +#define __bbcreaVtkImageSlab_h_INCLUDED__ +#include "bbcreaVtk_EXPORT.h" +#include "bbtkAtomicBlackBox.h" +#include "iostream" + +#include +#include + + +namespace bbcreaVtk +{ + +class bbcreaVtk_EXPORT ImageSlab + : + public bbtk::AtomicBlackBox +{ + BBTK_BLACK_BOX_INTERFACE(ImageSlab,bbtk::AtomicBlackBox); +//===== +// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) +//===== + BBTK_DECLARE_INPUT(In,vtkImageData*); + BBTK_DECLARE_INPUT(Type,int); + BBTK_DECLARE_OUTPUT(Out,vtkImageData*); + BBTK_PROCESS(Process); + + bool firsttime; + vtkImageSlab *imageSlab; + + void Process(); +//===== +// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) +//===== +}; + +BBTK_BEGIN_DESCRIBE_BLACK_BOX(ImageSlab,bbtk::AtomicBlackBox); + BBTK_NAME("ImageSlab"); + BBTK_AUTHOR("InfoDev"); + BBTK_DESCRIPTION("No Description."); + BBTK_CATEGORY("empty"); + + BBTK_INPUT(ImageSlab,In,"Input image",vtkImageData*,""); + BBTK_INPUT(ImageSlab,Type,"(0 default) 0 Mean, 1 Sum, 2 Min, 3 Max",int,""); + + BBTK_OUTPUT(ImageSlab,Out,"Output image",vtkImageData*,""); + +BBTK_END_DESCRIBE_BLACK_BOX(ImageSlab); +//===== +// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) +//===== +} +// EO namespace bbcreaVtk + +#endif // __bbcreaVtkImageSlab_h_INCLUDED__ +