4 #include "bbmaracasvisuContourToControlPoints.h"
5 #include "bbcreaMaracasVisuPackage.h"
6 namespace bbcreaMaracasVisu
9 BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaMaracasVisu,ContourToControlPoints)
10 //BBTK_USER_BLACK_BOX_IMPLEMENTATION(ContourToControlPoints,bbtk::AtomicBlackBox);
11 BBTK_BLACK_BOX_IMPLEMENTATION(ContourToControlPoints,bbtk::AtomicBlackBox);
13 //------------------------------------------------------------
14 void ContourToControlPoints::Process()
16 if ( bbGetInputSampling() >= 3.0 )
21 _ext2D->SetContour( bbGetInputInContourX(),bbGetInputInContourY(),bbGetInputInContourZ() );
22 _ext2D->SetSamplingControlPoints( bbGetInputSampling() );
23 _ext2D->GetSamplingControlPoints( &OutContourX,&OutContourY,&OutContourZ );
25 if(bbGetInputSampling() == 2.0)
30 _ext2D->SetContour( bbGetInputInContourX(),bbGetInputInContourY(),bbGetInputInContourZ() );
31 _ext2D->GetControlPoints( &OutContourX,&OutContourY,&OutContourZ );
34 //Liberates the memory from the VTK's objects. Always must do that!!
35 if ( bbGetInputLoadContour()== 1 )
46 fd = fopen("C:/bbtk_JS/data/SavedContours.txt","r");
47 _propgdata->ReadKeyContour( fd );
49 _propgdata->GetKeyContours(&KeyContourX,&KeyContourY,&KeyContourZ,&KeySizes);
50 if(KeySizes.size() == 1)
53 // _imagedata = _propgdata->method_RBF(bbGetInputRadRBF(),&KeyContourX,&KeyContourY,&KeyContourZ);
55 if(KeySizes.size() >= 2)
58 //_imagedata = _propgdata->method_RBF_3D(bbGetInputRadRBF(),&KeyContourX,&KeyContourY,&KeyContourZ);
59 // _imagedata = _propgdata->method_RBF_3D_ThinPlate(bbGetInputRadRBF(),&KeyContourX,&KeyContourY,&KeyContourZ);
62 if ( bbGetInputLoadContour()== 2 )
69 fd = fopen("C:/bbtk_JS/data/SavedManualPoints.txt","r");
70 _propgdata->ReadKeyContour( fd );
72 _propgdata->GetKeyContours(&KeyContourX,&KeyContourY,&KeyContourZ,&KeySizes);
73 if(KeySizes.size() == 1)
76 // _imagedata = _propgdata->method_RBF(bbGetInputRadRBF(),&KeyContourX,&KeyContourY,&KeyContourZ);
78 if(KeySizes.size() >= 2)
81 //_imagedata = _propgdata->method_RBF_3D(bbGetInputRadRBF(),&KeyContourX,&KeyContourY,&KeyContourZ);
82 // _imagedata = _propgdata->method_RBF_3D_ThinPlate(bbGetInputRadRBF(),&KeyContourX,&KeyContourY,&KeyContourZ);
86 if ( bbGetInputLoadContour()== 3 )
92 vtkImageData *itemp = vtkImageData::New();
93 _contprop->appendContour();
94 _contprop->setInterpolationNumber(300);
95 itemp = _contprop->GetKeyContours(&KeyContourX,&KeyContourY,&KeyContourZ,&KeySizes);
96 if(KeySizes.size() == 1)
99 if(KeySizes.size() >= 2)
103 _contprop->resetAppend();
104 _contprop->appendContour(&KeyContourX,&KeyContourY,&KeyContourZ);
105 //_contprop->GetContour(bbGetInputSlice(),&OutContourX,&OutContourY,&OutContourZ);
106 _contprop->GetControlPoints(bbGetInputSlice(),&OutContourX,&OutContourY,&OutContourZ);
107 printf("\n Size OutContourX = %d",OutContourX.size());
111 bbSetOutputControlPointX( &OutContourX );
112 bbSetOutputControlPointY( &OutContourY );
113 bbSetOutputControlPointZ( &OutContourZ );
114 bbSetOutputImagePropg( _imagedata );
116 //------------------------------------------------------------
117 void ContourToControlPoints::bbUserConstructor()
119 bbSetInputSampling(5.0);
121 bbSetInputInContourX(NULL);
122 bbSetInputInContourY(NULL);
123 bbSetInputInContourZ(NULL);
124 bbSetInputRadRBF(1000.0);
126 bbSetInputLoadContour(0);
128 _contprop = new ContourPropagation();
129 _propgdata = new PropContour();
130 _imagedata = vtkImageData::New();
131 _ext2D = new ExtractControlPoints2D();
135 //bool inic = false; // JPRx
137 //------------------------------------------------------------
138 void ContourToControlPoints::bbUserCopyConstructor()
141 //------------------------------------------------------------
142 void ContourToControlPoints::bbUserDestructor()
147 // EO namespace bbcreaMaracasVisu