Skip to content

xASL_bids_Dicom2JSON fails in a GE deltam-m0scan situation #1133

@MauricePasternak

Description

@MauricePasternak

Description

Given a typical GE ASLContext scenario of: deltam, m0scan , this script incorrectly handles the parmsIndex variable, possibly due to the naming of the files "ASL4D_6_00001.json" (deltam) and "ASL4D_1_e00000_6_.json" (m0scan) having a matching 6 designation.

This block seems to be responsible:

			% First find the first matching seriesNumber
			parmsIndex = length(instanceNumberList);
			for iInst = length(instanceNumberList):-1:1
				if (currentSeriesNumber == seriesNumberList(iInst))
					parmsIndex = iInst;
				end
			end

parmsIndex is intially set to 2 due to the number of files. And since the currentSeriesNumber is going to be 6 for both files, the parmsIndex does not change. This leads to ASLContext being overwritten by the m0scan JSON. The resulting ASLContext becomes "m0scan, m0scan", and snowballs into other errors down the line during processing.

This seems to be present in both 1.9.0 and 1.10.0beta

Fixed a bug in which xASL_bids_Dicom2JSON did not correctly increment the parameter index due to DCM2NII outputting the same series number for each ASL JSON.

xASL_bids_Dicom2JSON_Issue.zip

Tasks

  • Fix handling of parmsIndex in function xASL_bids_Dicom2JSON.m

How to test

  • See attached json files for testing
  • parmsIndex should correctly change between 1 and 2.

Release notes

Duplicate. Fixed in #435.

Metadata

Metadata

Assignees

Labels

duplicateThis issue or pull request already exists

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions