Skip to content

Commit 3197826

Browse files
committed
Philips research DWI sequences can generate unique scaling factor for each volume. Allow '-m y' to stack these.
1 parent fb82803 commit 3197826

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

console/nii_dicom_batch.cpp

+8
Original file line numberDiff line numberDiff line change
@@ -4529,6 +4529,10 @@ int sliceTimingCore(struct TDCMsort *dcmSort,struct TDICOMdata *dcmList, struct
45294529

45304530
int saveDcm2NiiCore(int nConvert, struct TDCMsort dcmSort[],struct TDICOMdata dcmList[], struct TSearchList *nameList, struct TDCMopts opts, struct TDTI4D *dti4D, int segVol) {
45314531
bool iVaries = intensityScaleVaries(nConvert,dcmSort,dcmList);
4532+
if ((iVaries) && (opts.isForceStackSameSeries = 1)) {
4533+
printWarning("Merging series even though intensity scaling varies between slices.\n");
4534+
iVaries = false;
4535+
}
45324536
float *sliceMMarray = NULL; //only used if slices are not equidistant
45334537
uint64_t indx = dcmSort[0].indx;
45344538
uint64_t indx0 = dcmSort[0].indx;
@@ -5101,6 +5105,10 @@ int saveDcm2Nii(int nConvert, struct TDCMsort dcmSort[],struct TDICOMdata dcmLis
51015105
//this wrapper does nothing if all the images share the same echo time and scale
51025106
// however, it segments images when these properties vary
51035107
uint64_t indx = dcmSort[0].indx;
5108+
if ((dcmList[indx].isScaleOrTEVaries) && (opts.isForceStackSameSeries = 1)) {
5109+
printWarning("Merging series even though intensity scaling varies between slices.\n");
5110+
dcmList[indx].isScaleOrTEVaries = false;
5111+
}
51045112
if ((!dcmList[indx].isScaleOrTEVaries) || (dcmList[indx].xyzDim[4] < 2))
51055113
return saveDcm2NiiCore(nConvert, dcmSort, dcmList, nameList, opts, dti4D, -1);
51065114
if ((dcmList[indx].xyzDim[4]) && (dti4D->sliceOrder[0] < 0)) {

0 commit comments

Comments
 (0)