Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FIX] Add resolution metadata in derivative #402

Merged
merged 2 commits into from
Aug 31, 2023

Conversation

Remi-Gau
Copy link
Contributor

=== Do not change lines below ===
{
 "chain": [],
 "cmd": "python ds000001-fmriprep/code/update_res_in_json.py",
 "exit": 0,
 "extra_inputs": [],
 "inputs": [],
 "outputs": [],
 "pwd": "."
}
^^^ Do not change lines above ^^^
@Remi-Gau Remi-Gau marked this pull request as ready for review August 25, 2023 14:51
@Remi-Gau
Copy link
Contributor Author

@effigies
While fixing this I started wondering about the way the spec says resolution entity metadata can be store as a string or an object of strings.

Example JSON file corresponding
to pipeline1/sub-001/func/sub-001_task-rest_run-1_space-MNI305_bold.json
above:
{
  "SkullStripped": true,
  "Resolution": {
    "hi": "Matched with high-resolution T1w (0.7mm, isotropic)",
    "lo": "Matched with original BOLD resolution (2x2x3 mm^3)"
  }
}

What was the rationale for allowing Resolution to be an object of strings?
Was it to minimize duplication of metadata?

I am worried of how the inheritance principle will play with this.

@effigies
Copy link
Contributor

What was the rationale for allowing Resolution to be an object of strings? Was it to minimize duplication of metadata?

I am worried of how the inheritance principle will play with this.

I guess the idea was so we could say at the root level space-MNI152NLin2009cAsym_bold.nii.gz, and not duplicate with res-hi and res-lo. I think the advantage at leaf level is basically nil, so I wouldn't expect people to go through the trouble of creating them if they don't intend to put them at the root.

@effigies
Copy link
Contributor

Maybe worth saying that I have a mental model where a tool will basically shunt all incoming metadata into exact-match sidecars (since it "sees" metadata as being attached to the individual file) while specifying its own conventions at the root level, as it will know if it always means the same thing with entityX-valueY_suffixZ.

@Remi-Gau
Copy link
Contributor Author

I see.
Thanks for the explanations

@effigies effigies merged commit 1c30c6e into bids-standard:master Aug 31, 2023
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ds000001-fmriprep hitting schema.rules.sidecars.entity_rules.EntitiesResMetadata Rule
2 participants