#include "bbUtilitiesSaveAxis.h" #include "bbUtilitiesPackage.h" namespace bbUtilities { BBTK_ADD_BLACK_BOX_TO_PACKAGE(Utilities,SaveAxis) //BBTK_USER_BLACK_BOX_IMPLEMENTATION(SaveAxis,bbtk::AtomicBlackBox); BBTK_BLACK_BOX_IMPLEMENTATION(SaveAxis,bbtk::AtomicBlackBox); void SaveAxis::Process() { std::string fileNameAxis= bbGetInputFileNameAxis(); std::string fileManualPoints = bbGetInputFileNameManualPoints(); std::vector px = bbGetInputPointsX(); std::vector py = bbGetInputPointsY(); std::vector pz = bbGetInputPointsZ(); std::vector mp = bbGetInputManualPoint(); vtkImageData* img= bbGetInputImage(); double* spc = img->GetSpacing(); std::ofstream file1; std::ofstream file2; int pxSize = px.size(); int pySize = py.size(); int pzSize = pz.size(); if(pxSize == pySize && pxSize== pzSize) { file1.open( fileNameAxis.c_str() ); if(file1.is_open()) { for (int i = 0; i< pxSize ;i++) { double pointx=px[i]*spc[0]; double pointy=py[i]*spc[1]; double pointz=pz[i]*spc[2]; if(i==(pxSize-1)){ file1 << pointx << " " << pointy << " " << pointz; }else{ file1 << pointx << " " << pointy << " " << pointz<< std::endl; } } file1.close(); } file2.open( fileManualPoints.c_str(), std::ios::out|std::ios::app|std::ios::ate); if(file2.is_open()) { double pointx=mp[0]*spc[0]; double pointy=mp[1]*spc[1]; double pointz=mp[2]*spc[2]; file2 << pointx << ";" << pointy << ";" << pointz << std::endl; } file2.close(); } } void SaveAxis::bbUserSetDefaultValues() { } void SaveAxis::bbUserInitializeProcessing() { bbSetInputFileNameAxis(""); bbSetInputFileNameManualPoints(""); } void SaveAxis::bbUserFinalizeProcessing() { } } // EO namespace bbUtilities