- if (currentPhaseEncodingDirection == "COL" || currentPhaseEncodingDirection == "COL " || currentPhaseEncodingDirection == " COL")
- chSessionIndex = "1";
- else if (currentPhaseEncodingDirection == "ROW" || currentPhaseEncodingDirection == "ROW "|| currentPhaseEncodingDirection == " ROW")
- chSessionIndex = "2";
- else
+ /* for SIEMENS MRI :
+ D 0008|1090 [LO] [Manufacturer's Model Name ] [Triotim ]
+ we have to deal with :
+
+ D 0008|103e [LO] [Series Description ] [fl2d9_line PA 15 90deg] or anything that contains '90' !
+ D 0008|103e [LO] [Series Description ] [fl2d9_line PA 15 0deg ]
+ (everything is flagged as 'ROW')
+ */
+
+ if ( GDCM_NAME_SPACE::Util::DicomStringEqual(modelName,"TrioTim") )
+ {
+ if (seriesDescription.find("90", 0) != std::string::npos)
+ chSessionIndex = "1"; // 90 deg -> COL
+ else if (seriesDescription.find("0", 0)!= std::string::npos)
+ chSessionIndex = "2"; // 0 deg -> ROW
+ else
+ {
+ std::cout << "====================== seriesDescription doesn't contain"
+ << " neither '90' nor '0' (?!?) : ["
+ << seriesDescription << "]" << std::endl;
+ chSessionIndex = "1";
+ }
+ }
+ else // for all other 'normal' cases