Dcm2bids 3.2.0: IntendedFor fails for some ids but works for others despite identical configs

Summary of what happened:

Dear Neurostars,

I am running dcm2bids (3.2.0), and there is a very curious case, where IntendedFor correctly assigns relevant fmaps to “func_REST_post” id, but cannot do the same to “func_REST_pre”, despite a seemingly identical configuration. The same goes for a successful assignment to “func_REASON_A”, but “func_REASON_B” id is not found. Does anyone have an idea where a problem could be?

Relevant log outputs :

WARNING | No id found for 'IntendedFor' value 'func_REST_pre'.
WARNING | No sidecar changes for field 'IntendedFor' will be made for json file 'sub-001_acq-preAcq_dir-PA_epi.json' with this id.
WARNING | No id found for 'IntendedFor' value 'func_REST_pre'.
WARNING | No sidecar changes for field 'IntendedFor' will be made for json file 'sub-001_acq-preAcq_dir-AP_epi.json' with this id.
WARNING | No id found for 'IntendedFor' value 'func_REASON_B'.
WARNING | No sidecar changes for field 'IntendedFor' will be made for json file 'sub-001_acq-midAcq_dir-PA_epi.json' with this id.
WARNING | No id found for 'IntendedFor' value 'func_REASON_B'.
WARNING | No sidecar changes for field 'IntendedFor' will be made for json file 'sub-001_acq-midAcq_dir-AP_epi.json' with this id.

Command used (testing on one participant)

dcm2bids -d ~/reason/pilot/raw_dicom/REASON_001 \
         -p 001 \
         -c ~/reason/pilot/dcm2bids_config.json \
         -o ~/reason/pilot/bids

My dcm2bids_config.json

{
    "descriptions": [
        {
            "id": "anat_T1w",
            "datatype": "anat",
            "suffix": "T1w",
            "criteria": {
                "SeriesDescription": "anat-T1w_res-0.8iso"
            }
        },
        {
            "id": "anat_T2w",
            "datatype": "anat",
            "suffix": "T2w",
            "criteria": {
                "SeriesDescription": "t2_space_sag_p2_iso"
            }
        },
        {
            "id": "func_REST_pre",
            "datatype": "func",
            "suffix": "bold",
            "custom_entities": "task-rest_acq-preTask",
            "criteria": {
                "SeriesDescription": "func-BOLD_task-Rest_acq-preTask"
            },
            "sidecar_changes": {
                "TaskName": "Rest_preTask"
            }
        },
        {
            "id": "func_REST_post",
            "datatype": "func",
            "suffix": "bold",
            "custom_entities": "task-rest_acq-postTask",
            "criteria": {
                "SeriesDescription": "func-BOLD_task-Rest_acq-postTask"
            },
            "sidecar_changes": {
                "TaskName": "Rest_postTask"
            }
        },
        {
            "id": "func_REASON_A",
            "datatype": "func",
            "suffix": "bold",
            "custom_entities": "task-REASON_acq-PartA",
            "criteria": {
                "SeriesDescription": "func-BOLD_task-REASON_acq-PartA"
            },
            "sidecar_changes": {
                "TaskName": "REASON_PartA"
            }
        },
        {
            "id": "func_REASON_B",
            "datatype": "func",
            "suffix": "bold",
            "custom_entities": "task-REASON_acq-PartB",
            "criteria": {
                "SeriesDescription": "func-BOLD_task-REASON_acq-PartB"
            },
            "sidecar_changes": {
                "TaskName": "REASON_PartB"
            }
        },
        {
            "id": "fmap_GRE_preAcq",
            "datatype": "fmap",
            "suffix": "gre",
            "custom_entities": "acq-preAcq",
            "criteria": {
                "SeriesDescription": "fmap-GRE_acq-preAcq_run-01"
            }
        },
        {
            "id": "fmap_GRE_midAcq",
            "datatype": "fmap",
            "suffix": "gre",
            "custom_entities": "acq-midAcq",
            "criteria": {
                "SeriesDescription": "fmap-GRE_acq-midAcq_run-01"
            }
        },
        {
            "id": "fmap_GRE_endAcq",
            "datatype": "fmap",
            "suffix": "gre",
            "custom_entities": "acq-endAcq",
            "criteria": {
                "SeriesDescription": "fmap-GRE_acq-endAcq_run-01"
            }
        },
        {
            "datatype": "fmap",
            "suffix": "epi",
            "custom_entities": "acq-preAcq_dir-PA",
            "criteria": {
                "SeriesDescription": "fmap-EPI_acq-preAcq_dir_PA"
            },
            "sidecar_changes": {
                "IntendedFor": "func_REST_pre"
            }
        },
        {
            "datatype": "fmap",
            "suffix": "epi",
            "custom_entities": "acq-preAcq_dir-AP",
            "criteria": {
                "SeriesDescription": "fmap-EPI_acq-preAcq_dir_AP"
            },
            "sidecar_changes": {
                "IntendedFor": "func_REST_pre"
            }
        },
        {
            "datatype": "fmap",
            "suffix": "epi",
            "custom_entities": "acq-midAcq_dir-PA",
            "criteria": {
                "SeriesDescription": "fmap-EPI_acq-midAcq_dir_PA"
            },
            "sidecar_changes": {
                "IntendedFor": [
                    "func_REASON_A",
                    "func_REASON_B"
                ]
            }
        },
        {
            "datatype": "fmap",
            "suffix": "epi",
            "custom_entities": "acq-midAcq_dir-AP",
            "criteria": {
                "SeriesDescription": "fmap-EPI_acq-midAcq_dir_AP"
            },
            "sidecar_changes": {
                "IntendedFor": [
                    "func_REASON_A",
                    "func_REASON_B"
                ]
            }
        },
        {
            "datatype": "fmap",
            "suffix": "epi",
            "custom_entities": "acq-endAcq_dir-PA",
            "criteria": {
                "SeriesDescription": "fmap-EPI_acq-endAcq_dir_PA"
            },
            "sidecar_changes": {
                "IntendedFor": "func_REST_post"
            }
        },
        {
            "datatype": "fmap",
            "suffix": "epi",
            "custom_entities": "acq-endAcq_dir-AP",
            "criteria": {
                "SeriesDescription": "fmap-EPI_acq-endAcq_dir_AP"
            },
            "sidecar_changes": {
                "IntendedFor": "func_REST_post"
            }
        }
    ]
}
```

### Version:
3.2.0


### Screenshots / relevant information:
I tried assigning fmaps unique IDs, still got the same problem

_____

Hi @gabija ,

I think the reason it didn’t work is because dcm2bids didn’t find those func_REST_pre and func_REASON_B when you run it. If it doesn’t find them, it does not store their id and then they can’t be applied to the fmap json files.

Can you share the whole log ? Tt would validate what I said or at least help me debug this issue.

Thank you
Arnaud