#include "bbUtilitiesLoadAxis.h" #include "bbUtilitiesPackage.h" namespace bbUtilities { BBTK_ADD_BLACK_BOX_TO_PACKAGE(Utilities,LoadAxis) //BBTK_USER_BLACK_BOX_IMPLEMENTATION(LoadAxis,bbtk::AtomicBlackBox); BBTK_BLACK_BOX_IMPLEMENTATION(LoadAxis,bbtk::AtomicBlackBox); void LoadAxis::Process() { std::string filename = bbGetInputFileNameAxisPoints(), line = ""; vtkImageData* img = bbGetInputImage(); double *spc; spc = img->GetSpacing(); std::vector xvect; std::vector yvect; std::vector zvect; std::ifstream file; file.open( filename.c_str() ); if(file.is_open()) { int i=0; while(!file.eof()) { std::getline(file,line); //OJO LOS TEORICOS ESTAN SEPARADOS POR ; int pos=line.find(" "); int pos2=line.find_last_of(" "); int size=line.size(); std::string xs=line.substr(0,pos); std::string ys=line.substr(pos+1,pos2); std::string zs=line.substr(pos2+1,size); double x0=atof(xs.c_str()); double y0=atof(ys.c_str()); double z0=atof(zs.c_str()); if(x0 > 0 && y0 > 0 && z0 > 00){ xvect.push_back(x0/spc[0]); yvect.push_back(y0/spc[1]); zvect.push_back(z0/spc[2]); } } } bbSetOutputOutX(xvect); bbSetOutputOutY(yvect); bbSetOutputOutZ(zvect); } void LoadAxis::bbUserSetDefaultValues() { } void LoadAxis::bbUserInitializeProcessing() { } void LoadAxis::bbUserFinalizeProcessing() { } } // EO namespace bbUtilities