//EED04
void wxContourMainFrame ::loadState(std::string filename){
-
+
deleteAllContours();
onLoadContours(filename,false);
-
+
/* EED Borrame
char tmp[255];
FILE *pFile=fopen(filename.c_str(),"r+");
openContours(pFile,pFileData,false);
openContours(pFile,pFileData,true); //Load StaticContours
}
-
+
if (version=="1.0.2")
{
//EED001
dial->ShowModal();
int _tmpReadFileTypeOfTransformation = -1;
- bool transform = false;
+//EED bool transform = false;
if (dial->GetReturnCode() == wxID_OK)
{
//DefinciÛn de conexiÛnes entre VTK e ITK y el writer
typedef itk::VTKImageToImageFilter<OutputImageType2> ConnectorType;
typedef itk::ImageToVTKImageFilter<OutputImageType> ConnectorType2;
- typedef itk::ImageFileWriter< OutputImageType > WriterType;
+//EED10JUIN2011 typedef itk::ImageFileWriter< OutputImageType > WriterType;
ConnectorType::Pointer connector= ConnectorType::New();
ConnectorType2::Pointer connector2= ConnectorType2::New();
vtkstripper->Update();
vtkstripper->UpdateInformation();
-
vtkPolyData* polyDataResult = cntVTK->GetOutput();
//std::cout<<"Points "<<polyDataResult->GetNumberOfPoints()<<std::endl;
polyDataResult->Update( );
} // if sizeCtrPt
-
+/*
+//EED10JUIN2011
WriterType::Pointer writer = WriterType::New();
CastFilterType3::Pointer caster = CastFilterType3::New();
caster5->SetOutputMinimum( 0 );
caster5->SetOutputMaximum( 255 );
writer5->Update();
+*/
}
catch( itk::ExceptionObject & excep )
{
_instantPanel->setConceptValue( name, actual );
}
+
void wxContourMainFrame::resetAppend(){
kernelManager->resetAppend();
}
+
void wxContourMainFrame::onSpreadAdd(){
std::vector<double> vecX;
std::vector<double> vecY;
std::vector<double> vecZ;
_theViewPanel->GetPointsOfActualContour(&vecX , &vecY , &vecZ );
-
std::vector<int> tempVector;
_instantPanel->getInstant( tempVector );
-
std::string val = kernelManager->onSpreadAdd(&vecX , &vecY , &vecZ, tempVector);
-
interfMainPanel::getInstance()->appendStringSpread(val);
+}
+
+void wxContourMainFrame::onSpreadAddAll(){
+//EED02
+ std::vector<int> tempVector;
+ _instantPanel->getInstant( tempVector );
+ int minZ,maxZ;
+ minZ = 0;
+ maxZ = interfMainPanel::getInstance()->GetImageDataSizeZ();
+ int z;
+ int sizeLstContourThings;
+ for ( z=minZ ; z<=maxZ ; z++ )
+ {
+ tempVector[1]=z;
+ Instant instant(&tempVector);
+ std::vector<ContourThing**> lstContourThings = kernelManager->getOutlinesAtInstant( &instant );
+ sizeLstContourThings = lstContourThings.size();
+ if (sizeLstContourThings>=1)
+ {
+ std::vector<double> vecX;
+ std::vector<double> vecY;
+ std::vector<double> vecZ;
+ ContourThing **contourthing = lstContourThings[0];
+ manualBaseModel *cModel = (*contourthing)->getModel();
+ int i,size = cModel->GetNumberOfPointsSpline();
+ double x,y,z;
+ for (i=0; i<size; i++)
+ {
+ cModel->GetSpline_i_Point(i, &x, &y, &z);
+ vecX.push_back(x);
+ vecY.push_back(y);
+ vecZ.push_back(z);
+ } // for i
+ std::string val = kernelManager->onSpreadAdd(&vecX , &vecY , &vecZ, tempVector);
+ interfMainPanel::getInstance()->appendStringSpread(val);
+ }// if sizeLstContourThings
+ } // for z
}
-void wxContourMainFrame::onSpreadGo(int type){
+void wxContourMainFrame::onSpreadGo(int type){
//JCP 20-10-08 Undo redo implementation
saveState();
//JCP 20-10-08 Undo redo implementation
-
wxBusyCursor wait;
std::vector<double> vecCtrlPointX;
std::vector<double> vecCtrlPointY;
void wxContourMainFrame::SaveImageResult(std::string directory,std::string namefile, vtkImageData* mask,vtkImageData* value)
{
- std::string temp = directory + "/" + namefile + "-Value.mhd";
+ double spc[3];
+ kernelManager->GetSpacing(spc,0); // returns the spacing of the first image
+
+ std::string temp = directory + "/" + namefile + "-image-Value.mhd";
wxString filename = crea::std2wx(temp);
- // LG
- // filename.Printf(_T(temp.c_str()));
- //filename.Printf(_T("%s\\%s-Value.mhd",directory.c_str(),namefile.c_str(),z);
- /*filename.Printf(_T("%s"),directory.c_str());
- filename.append(_T("\\"));
- filename.append(_T("%s"),namefile.c_str());
- filename.append(_T("-Value.mhd"));*/
// Image Value
+
+ vtkImageChangeInformation *valueChInfo = vtkImageChangeInformation::New();
+ valueChInfo->SetInput(value);
+ valueChInfo->SetSpacingScale(spc);
vtkMetaImageWriter *writerValueImage = vtkMetaImageWriter::New( );
- writerValueImage->SetInput( value );
- writerValueImage->SetInput( value );
+ writerValueImage->SetInput( valueChInfo->GetOutput() );
writerValueImage->SetFileName( (const char *)filename.mb_str() );
writerValueImage->SetFileDimensionality( 3 );
writerValueImage->SetCompression(false);
writerValueImage->Write( );
// Image Mask
- // filename.Printf("%s\\%s-Mask.mhd",directory.c_str(),namefile.c_str(),z);
- temp = directory + "/" + namefile + "-Mask.mhd";
+ temp = directory + "/" + namefile + "-image-Mask.mhd";
// LG 14/01/09 : using crea
filename = crea::std2wx(temp);
// filename.Printf(_T(temp.c_str()));
- /*filename.Printf(_T("%s"),directory.c_str());
- filename.append(_T("\\"));
- filename.append(_T("%s"),namefile.c_str());
- filename.append(_T("-Mask.mhd"));*/
+ vtkImageChangeInformation *maskChInfo = vtkImageChangeInformation::New();
+ maskChInfo->SetInput(mask);
+ maskChInfo->SetSpacingScale(spc);
vtkMetaImageWriter *writerMaskImage = vtkMetaImageWriter::New( );
- writerMaskImage->SetInput( mask );
+ writerMaskImage->SetInput( maskChInfo->GetOutput() );
writerMaskImage->SetFileName( (const char *)filename.mb_str() );
writerMaskImage->SetFileDimensionality( 3 );
- writerValueImage->SetCompression(false);
+ writerMaskImage->SetCompression(false);
writerMaskImage->Write( );
interfMainPanel::getInstance()->setStringInfoPanel( _T("") );