diff --git a/console/nii_dicom.cpp b/console/nii_dicom.cpp index 5aa8db7e..f42f5fd1 100644 --- a/console/nii_dicom.cpp +++ b/console/nii_dicom.cpp @@ -5826,6 +5826,8 @@ const uint32_t kEffectiveTE = 0x0018 + uint32_t(0x9082 << 16); //FD d.accelFactPE = accelFactPE; break; case kAcquisitionDuration: + if (!isSameFloatGE(d.acquisitionDuration, 0.0)) + break; //issue 808: give precedence to more precise measures, e.g kAcquisitionDurationGE (0019,105a) //n.b. used differently by different vendors https://github.com/rordenlab/dcm2niix/issues/225 d.acquisitionDuration = dcmFloatDouble(lLength, &buffer[lPos], d.isLittleEndian); break; diff --git a/console/nii_dicom_batch.cpp b/console/nii_dicom_batch.cpp index 7eb6d206..a07fe3df 100644 --- a/console/nii_dicom_batch.cpp +++ b/console/nii_dicom_batch.cpp @@ -2256,11 +2256,6 @@ tse3d: T2*/ // FSL definition is start of first line until start of last line. // Other than the use of (n-1), the value is basically just 1.0/bandwidthPerPixelPhaseEncode. // https://github.com/rordenlab/dcm2niix/issues/130 - if (d.manufacturer == kMANUFACTURER_GE){ //issue808 - char acquisitionDurationbuffer[50]; - sprintf(acquisitionDurationbuffer, "%02d:%02d",(int)round(d.acquisitionDuration)/60,(int)round(d.acquisitionDuration)%60); - json_Str(fp, "\t\"AcquisitionDurationGE\": \"%s\",\n", acquisitionDurationbuffer); - } if (d.manufacturer != kMANUFACTURER_UIH) //issue606 json_Float(fp, "\t\"AcquisitionDuration\": %g,\n", d.acquisitionDuration); if ((d.manufacturer == kMANUFACTURER_UIH) && (effectiveEchoSpacing <= 0.0)) //issue225, issue531