Skip to content

Commit

Permalink
GE TablePosition tableDelta
Browse files Browse the repository at this point in the history
  • Loading branch information
Jaemin Shin authored and Jaemin Shin committed Aug 12, 2024
1 parent ba03669 commit d675aef
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 4 deletions.
2 changes: 1 addition & 1 deletion BIDS/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,7 @@ Data unique to [GE](https://github.com/rordenlab/dcm2niix/tree/master/GE). Deter
| LabelingDuration | s | DICOM tag 0043,10A5 | B |
| SliceTiming | s | [see notes](https://github.com/rordenlab/dcm2niix/tree/master/GE#slice-timing) | B |
| CompressedSensingFactor | | DICOM tag 0043,10B7 | D |
| TablePosition | mm | DICOM tag 0043,10B2 | B |
| TablePosition | mm | The 3rd value of DICOM tag 0043,10B2 - the value of DICOM tag 0019,107F | B |
| DeepLearningFactor | | DICOM tag 0043,10CA | D |

### Manufacturer Philips
Expand Down
11 changes: 9 additions & 2 deletions console/nii_dicom.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4483,6 +4483,7 @@ const uint32_t kEffectiveTE = 0x0018 + uint32_t(0x9082 << 16); //FD
#define kBandwidthPerPixelPhaseEncode 0x0019 + (0x1028 << 16) //FD
#define kSliceTimeSiemens 0x0019 + (0x1029 << 16) ///FD
#define kAcquisitionDurationGE 0x0019 + (0x105a << 16) //FL Acquisition Duration in microsecond, Duration of Scan (series)
#define kTableDeltaGE 0x0019 + (0x107f << 16) //DS Table delta
#define kPulseSequenceNameGE 0x0019 + (0x109C << 16) //LO 'epiRT' or 'epi'
#define kInternalPulseSequenceNameGE 0x0019 + (0x109E << 16) //LO 'EPI' or 'EPI2'
#define kRawDataRunNumberGE 0x0019 + (0x10A2 << 16)//SL
Expand Down Expand Up @@ -4692,6 +4693,7 @@ const uint32_t kEffectiveTE = 0x0018 + uint32_t(0x9082 << 16); //FD
int userData12GE = 0;
float userData15GE = 0;
float accelFactPE = 0.0;
float tableDeltaGE = 0.0;
int overlayRows = 0;
int overlayCols = 0;
bool isNeologica = false;
Expand Down Expand Up @@ -7387,15 +7389,20 @@ const uint32_t kEffectiveTE = 0x0018 + uint32_t(0x9082 << 16); //FD
d.durationLabelPulseGE = dcmStrInt(lLength, &buffer[lPos]);
break;
}
case kMRTablePositionInformation: { //LO issue427GE
case kTableDeltaGE: { //DS issue726
if (d.manufacturer != kMANUFACTURER_GE)
break;
tableDeltaGE = dcmStrFloat(lLength, &buffer[lPos]);
}
case kMRTablePositionInformation: { //LO issue726
if (d.manufacturer != kMANUFACTURER_GE)
break;
//LO array of floats stored in LONG STRING!
// [960.5\400\17.9108\0\-9999\-9999]
//we want 3rd value, e.g. 17.9:
float v[5];
dcmMultiFloat(lLength, (char *)&buffer[lPos], 5, v);
d.CSA.tablePos[3] = v[3];
d.CSA.tablePos[3] = v[3] - tableDeltaGE;
d.CSA.tablePos[0] = 1.0;
break;
}
Expand Down
2 changes: 1 addition & 1 deletion console/nii_dicom.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ extern "C" {
#define kCPUsuf " " //unknown CPU
#endif

#define kDCMdate "v1.0.20240731"
#define kDCMdate "v1.0.20240812"
#define kDCMvers kDCMdate " " kJP2suf kLSsuf kCCsuf kCPUsuf

static const int kMaxEPI3D = 1024; //maximum number of EPI images in Siemens Mosaic
Expand Down

0 comments on commit d675aef

Please sign in to comment.