// bbSetOutputOut( bbGetInputIn() );
// std::cout << "Output value = " <<bbGetOutputOut() << std::endl;
+ std::string inputfilename;
+ if (bbGetInputDirectionPlane()=="XY")
+ {
+ inputfilename=bbGetInputFileName();
+ } // if XY
+
+
+ if ((bbGetInputDirectionPlane()=="YZ") || (bbGetInputDirectionPlane()=="ZX"))
+ {
+
+ //-- Split FileName
+ std::size_t found = bbGetInputFileName().find_last_of("/\\");
+ std::string path = bbGetInputFileName().substr(0,found+1);
+ std::string filename = bbGetInputFileName().substr(found+1);
+#ifdef _WIN32
+ path=path+"YZ_ZX\\";
+#else
+ path=path+"YZ_ZX/";
+#endif
+
+
+ if (bbGetInputDirectionPlane()=="YZ")
+ {
+ inputfilename = path+filename+"_YZ.mhd";
+ } // if YZ
+
+ if (bbGetInputDirectionPlane()=="ZX")
+ {
+ inputfilename = path+filename+"_ZX.mhd";
+ } // XZ
+ } // if YZ || XZ
vtkImageData *newImage;
long int newHeaderSize;
- std::string newFileName=bbGetInputFileName()+"-OneSlice";
+ std::string newFileName=inputfilename+"-OneSlice";
int sx,sy,sz;
char mystring[250];
char strTmp[20];
bool ok=true;
- FILE *ffIn = fopen(bbGetInputFileName().c_str(),"r+");
- if (ffIn!=NULL){
- FILE *ffOut = fopen(newFileName.c_str(),"w+");
+ FILE *ffIn = fopen(inputfilename.c_str(),"r");
+ if (ffIn!=NULL)
+ {
+ FILE *ffOut = fopen(newFileName.c_str(),"w");
while(!feof(ffIn))
{
newHeaderSize = sx*sy*bbGetInputSlice();
if (bbGetInputSlice()>=sz) {ok=false;}
} // if
+ if (strncmp("ElementType = MET_CHAR",mystring,24)==0) { newHeaderSize=newHeaderSize*1; }
+ if (strncmp("ElementType = MET_UCHAR",mystring,24)==0) { newHeaderSize=newHeaderSize*1; }
+ if (strncmp("ElementType = MET_USHORT",mystring,24)==0) { newHeaderSize=newHeaderSize*2; }
if (strncmp("ElementType = MET_USHORT",mystring,24)==0) { newHeaderSize=newHeaderSize*2; }
- if (strncmp("ElementType = MET_SHORT",mystring,23)==0) { newHeaderSize=newHeaderSize*2; }
- if (strncmp("ElementType = MET_FLOAT",mystring,23)==0) { newHeaderSize=newHeaderSize*2; }
+ if (strncmp("ElementType = MET_SHORT",mystring,23)==0) { newHeaderSize=newHeaderSize*2; }
+ if (strncmp("ElementType = MET_FLOAT",mystring,23)==0) { newHeaderSize=newHeaderSize*4; }
+ if (strncmp("ElementType = VTK_FLOAT",mystring,23)==0) { newHeaderSize=newHeaderSize*4; }
if (strncmp("Offset",mystring,6)==0) {strcpy(mystring,"Offset = 0 0 0\n");}
if (strncmp("HeaderSize",mystring,10)==0) {strcpy(mystring,"");}
if (strncmp("ElementDataFile",mystring,15)==0)
} // if ok
} else {
ok=false;
+ printf("EED ERROR: Problem openin:%s\n", inputfilename.c_str() );
}
if (ok==false)
{
- int i,j;
+ int i;
int sizeX, sizeY, sizeZ;
sizeX = 200;
sizeY = sizeX;
// Here we initialize the input 'In' to 0
bbSetInputFileName("");
bbSetInputSlice(0);
+ bbSetInputDirectionPlane("XY");
}
//=====