double BrukerObjectVaryingProperties::getTE(unsigned int theValue) const{
if (theValue < TE.size() ) {return TE[theValue];}
//else throw 0;
- else throw(BrukerSizeException("TE", theValue, TE.size() );
+ else throw BrukerSizeException("TE", theValue, TE.size() );
}
/*void BrukerObjectVaryingProperties::computeTE(const std::vector< double >& theValue)
double BrukerObjectVaryingProperties::getPositionP(unsigned int theValue) const{
if (theValue < PositionP.size() ) return PositionP[theValue];
// else throw 1;
- else throw(BrukerSizeException("PositionP", theValue, PositionP.size() );
+ else throw BrukerSizeException("PositionP", theValue, PositionP.size() );
}
/*void BrukerObjectVaryingProperties::computePositionP(const std::vector< double >& theValue)
double BrukerObjectVaryingProperties::getPositionR(unsigned int theValue) const{
if (theValue < PositionR.size() ) return PositionR[theValue];
// else throw 2;
- else throw(BrukerSizeException("PositionR", theValue, PositionR.size() );
+ else throw BrukerSizeException("PositionR", theValue, PositionR.size() );
}
/*void BrukerObjectVaryingProperties::computePositionR(const std::vector< double >& theValue)
double BrukerObjectVaryingProperties::getPositionS(unsigned int theValue) const{
if (theValue < PositionS.size() ) return PositionS[theValue];
// else throw 3;
- else throw(BrukerSizeException("PositionS", theValue, PositionS.size() );
+ else throw BrukerSizeException("PositionS", theValue, PositionS.size() );
}
/*void BrukerObjectVaryingProperties::computePositionS(const std::vector< double >& theValue)
int BrukerObjectVaryingProperties::getAcquisitionOrder(unsigned int theValue) const{
if (theValue <AcquisitionOrder.size()) return AcquisitionOrder[theValue];
//else throw 4;
- else throw(BrukerSizeException("AcquisitionOrder", theValue, AcquisitionOrder.size() );
+ else throw BrukerSizeException("AcquisitionOrder", theValue, AcquisitionOrder.size() );
}
/*void BrukerObjectVaryingProperties::computeAcquisitionOrder(const std::vector< int >& theValue1, const std::vector< int >& theValue2)
}*/
void BrukerObjectVaryingProperties::computeAcquisitionOrder(std::map<std::string, BrukerFieldData> & BrukerHM, std::vector<int> & LoopStruct){
- std::vector<int> AcqOrder;
- if (BrukerHM[(std::string) "ACQ_obj_order"].GetIntValue().size() != LoopStruct[3]*LoopStruct[1]) throw 7;
+ std::vector<int> AcqOrder;
+
+ if (BrukerHM[(std::string) "ACQ_obj_order"].GetIntValue().size() != LoopStruct[3]*LoopStruct[1]) {
+ std::cout << "BrukerHM[(std::string) 'ACQ_obj_order'].GetIntValue().size() " << BrukerHM[(std::string) "ACQ_obj_order"].GetIntValue().size()
+ << " LoopStruct[3] : " << LoopStruct[3] << " * LoopStruct[1] : " << LoopStruct[1] << " = " << LoopStruct[3]*LoopStruct[1] << std::endl;
+ throw 7;
+ }
if (LoopStruct.size() < 4 ) throw 8;
for (int i =0 ;i<LoopStruct[3];i++)
AcqOrder.push_back((int) BrukerHM[(std::string) "ACQ_obj_order"].GetIntValue()[i*LoopStruct[1]]/LoopStruct[1]);
AcquisitionOrder=AcqOrder;
};
-std :: vector < std :: vector < double > > BrukerObjectVaryingProperties::getOrientation(unsigned int theValue) const{
+std :: vector < std :: vector < double > > BrukerObjectVaryingProperties::getOrientation(unsigned int theValue) const {
if (theValue < Orientation.size())return Orientation[theValue];
//else throw 9;
- else throw(BrukerSizeException("Orientation", theValue, Orientation.size() );
+ else throw BrukerSizeException("Orientation", theValue, Orientation.size() );
}
/*void BrukerObjectVaryingProperties::computeOrientation( std :: vector < double > & theValue1,const std::vector< int >& theValue2)
if (BrukerHM[(std::string) "ACQ_grad_matrix"].GetDoubleValue().size() != LoopStruct[3]*9) throw 12;
if (LoopStruct.size() < 4 )
//throw 13;
- throw(BrukerSizeException("LoopStruct", 4, LoopStruct.size() );
+ throw BrukerSizeException("LoopStruct", 4, LoopStruct.size() );
std::vector<double> Temp1D(3,0.0);
std::vector<std::vector<double> > Temp2D;
/*!
\fn BrukerObjectVaryingProperties::init(std::map<std::string, BrukerFieldData> BrukerHM,std::vector<int> LoopStruct)
*/
-bool BrukerObjectVaryingProperties::init(std::map<std::string, BrukerFieldData> & BrukerHM, std::vector<int> & LoopStruct)
+bool BrukerObjectVaryingProperties::init(std::map<std::string, BrukerFieldData> &BrukerHM, std::vector<int> &LoopStruct)
{
try {
computeAcquisitionOrder (BrukerHM, LoopStruct);
computePositionTimePerNR(BrukerHM, LoopStruct);
computeTE (BrukerHM);
}
-
+ catch (int i)
+ {
+ std::cout << "Failure during BrukerObjectVaryingProperties::init err code : " << i << std::endl;
+ if (i==7)
+ std::cout << "Probabely non standard acquisition (extra loop not yet dealt with)" << std::endl;
+ return false;
+ }
catch (...)
{
std::cout << "Failure during BrukerObjectVaryingProperties::init " << std::endl;