From fb686eb16e858157b1386ed49e482ca3ce15971a Mon Sep 17 00:00:00 2001 From: Eduardo DAVILA Date: Mon, 15 May 2023 13:44:45 +0200 Subject: [PATCH] #3506 JSON write box --- .../src/bbcreaVtkJSONDataSetWriter.cxx | 97 +++++++++++++++++++ .../src/bbcreaVtkJSONDataSetWriter.h | 51 ++++++++++ .../src/bbcreaVtkPolyDataToImageData.cxx | 10 +- 3 files changed, 156 insertions(+), 2 deletions(-) create mode 100644 bbtk_creaVtk_PKG/src/bbcreaVtkJSONDataSetWriter.cxx create mode 100644 bbtk_creaVtk_PKG/src/bbcreaVtkJSONDataSetWriter.h diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkJSONDataSetWriter.cxx b/bbtk_creaVtk_PKG/src/bbcreaVtkJSONDataSetWriter.cxx new file mode 100644 index 0000000..b538dce --- /dev/null +++ b/bbtk_creaVtk_PKG/src/bbcreaVtkJSONDataSetWriter.cxx @@ -0,0 +1,97 @@ +//===== +// 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 "bbcreaVtkJSONDataSetWriter.h" +#include "bbcreaVtkPackage.h" + +#include +#include + +namespace bbcreaVtk +{ + +BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaVtk,JSONDataSetWriter) +BBTK_BLACK_BOX_IMPLEMENTATION(JSONDataSetWriter,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 JSONDataSetWriter::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 = " <0) && (sizeLstImages==sizeLstFileNames) ) + { + for ( i=0 ; iGetArchiver()->SetArchiveName( filename.c_str() ); + writer->SetInputData( image ); + writer->Update(); + } // if image + }// for + } // if size + +} +//===== +// 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 JSONDataSetWriter::bbUserSetDefaultValues() +{ + +// SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX +// Here we initialize the input 'In' to 0 +// bbSetInputIn(NULL); + +} +//===== +// 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 JSONDataSetWriter::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 JSONDataSetWriter::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/bbcreaVtkJSONDataSetWriter.h b/bbtk_creaVtk_PKG/src/bbcreaVtkJSONDataSetWriter.h new file mode 100644 index 0000000..0a5231a --- /dev/null +++ b/bbtk_creaVtk_PKG/src/bbcreaVtkJSONDataSetWriter.h @@ -0,0 +1,51 @@ +//===== +// 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 __bbcreaVtkJSONDataSetWriter_h_INCLUDED__ +#define __bbcreaVtkJSONDataSetWriter_h_INCLUDED__ + +#include "bbcreaVtk_EXPORT.h" +#include "bbtkAtomicBlackBox.h" +#include "iostream" + +#include + +namespace bbcreaVtk +{ + +class bbcreaVtk_EXPORT JSONDataSetWriter + : + public bbtk::AtomicBlackBox +{ + BBTK_BLACK_BOX_INTERFACE(JSONDataSetWriter,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(LstImages,std::vector ); + BBTK_DECLARE_INPUT(LstFileNames,std::vector ); +// BBTK_DECLARE_OUTPUT(Out,double); + BBTK_PROCESS(Process); + 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(JSONDataSetWriter,bbtk::AtomicBlackBox); + BBTK_NAME("JSONDataSetWriter"); + BBTK_AUTHOR("InfoDev"); + BBTK_DESCRIPTION("No Description."); + BBTK_CATEGORY("empty"); + BBTK_INPUT(JSONDataSetWriter,LstImages,"Input Image",std::vector ,""); + BBTK_INPUT(JSONDataSetWriter,LstFileNames,"File Name",std::vector ,""); +// BBTK_OUTPUT(JSONDataSetWriter,Out,"First output",double,""); +BBTK_END_DESCRIBE_BLACK_BOX(JSONDataSetWriter); +//===== +// 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 // __bbcreaVtkJSONDataSetWriter_h_INCLUDED__ + diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkPolyDataToImageData.cxx b/bbtk_creaVtk_PKG/src/bbcreaVtkPolyDataToImageData.cxx index 66543b2..3c6de3d 100644 --- a/bbtk_creaVtk_PKG/src/bbcreaVtkPolyDataToImageData.cxx +++ b/bbtk_creaVtk_PKG/src/bbcreaVtkPolyDataToImageData.cxx @@ -35,10 +35,10 @@ void PolyDataToImageData::Process() { printf("EED Warnning!! PolyDataToImageData::Process Clean this code .................;\n "); int ext[6]; - bbGetInputInImage()->GetExtent( ext ); double spc[3]; - bbGetInputInImage()->GetSpacing( spc ); double org[3]; + bbGetInputInImage()->GetExtent( ext ); + bbGetInputInImage()->GetSpacing( spc ); bbGetInputInImage()->GetOrigin( org ); // vtkCleanPolyData *clean1 = vtkCleanPolyData::New(); @@ -46,9 +46,11 @@ printf("EED Warnning!! PolyDataToImageData::Process Clean this code ......... clean1 = vtkCleanPolyData::New(); clean1->SetInputData( bbGetInputInPolyData() ); clean1->Update(); + printf("EED PolyDataToImageData::Process 1 \n"); vtkTriangleFilter *triangle1 = vtkTriangleFilter::New(); triangle1->SetInputData( clean1->GetOutput() ); triangle1->Update(); + printf("EED PolyDataToImageData::Process 2 \n"); // vtkPolyDataToImageStencil *dataToStencil = vtkPolyDataToImageStencil::New(); if (dataToStencil!=NULL) dataToStencil->Delete(); dataToStencil = vtkPolyDataToImageStencil::New(); @@ -57,6 +59,7 @@ printf("EED Warnning!! PolyDataToImageData::Process Clean this code ......... dataToStencil->SetOutputSpacing( spc ); dataToStencil->SetOutputWholeExtent( ext ); dataToStencil->Update(); + printf("EED PolyDataToImageData::Process 3 \n"); // vtkExtractVOI *extract = vtkExtractVOI::New(); if (extract!=NULL) extract->Delete(); extract = vtkExtractVOI::New(); @@ -65,15 +68,18 @@ printf("EED Warnning!! PolyDataToImageData::Process Clean this code ......... extract->SetInputData( bbGetInputInImage() ); extract->ReleaseDataFlagOff(); extract->Update(); + printf("EED PolyDataToImageData::Process 4 \n"); // vtkImageStencil *stencil = vtkImageStencil::New(); if (stencil!=NULL) stencil->Delete(); stencil = vtkImageStencil::New(); stencil->SetInputData( extract->GetOutput() ); stencil->Update(); + printf("EED PolyDataToImageData::Process 5 \n"); stencil->SetStencilData( dataToStencil->GetOutput() ); stencil->ReverseStencilOn(); stencil->SetBackgroundValue( bbGetInputBackgroundValue() ); stencil->Update(); + printf("EED PolyDataToImageData::Process 6 \n"); bbSetOutputOut( stencil->GetOutput() ); } else { printf("EED Warnning! PolyDataToImageData::Process > Missing Image or PolyData inputs\n"); -- 2.47.1