load_ants_h5 error when using --multi-step-reg
Closed this issue · 1 comments
madisoth commented
What happened?
@moser297 and I both got the below error on 25.0.0a1 using the new --multi-step-reg
option. I think part of the issue is the new concatenated xfm for anat -> MNIInfant -> MNI152 is collapsed into a single nonlinear transform, instead of the usual with antsRegistration outputting a composite .h5 transform with an affine xform[0] and a nonlinear xform[1]
What command did you use?
/opt/conda/envs/nibabies/bin/nibabies /data /out participant --participant-label 0011 --derivatives /bibsnet --fs-license-file /opt/freesurfer/license.txt --cifti-output 91k --omp-nthreads 8 --nprocs 8 --project-goodvoxels --surface-recon-method mcribs --fd-radius 45 --age-months 1 --multi-step-reg --norm-csf -vv -w /work --output-spaces MNI152NLin6Asym:res-2
What version of NiBabies are you using?
25.0.0a1
Relevant log output
Node: nibabies_24_2_wf.single_subject_sub-0011_ses-MENORDIC_wf.bold_ses_MENORDIC_task_oddball_acq_3T2mm_run_12_echo_1_wf.bold_std_wf.resample
Working directory: /work/nibabies_24_2_wf/single_subject_sub-0011_ses-MENORDIC_wf/bold_ses_MENORDIC_task_oddball_acq_3T2mm_run_12_echo_1_wf/bold_std_wf/_in_tuple_MNI152NLin6Asym.res2/resample
Node inputs:
cval = 0.0
fieldmap = <undefined>
in_file = <undefined>
inverse = [False]
jacobian = True
mode = constant
num_threads = 8
order = 3
output_data_type = float32
pe_dir = <undefined>
prefilter = True
ref_file = <undefined>
ro_time = <undefined>
transforms = <undefined>
Traceback (most recent call last):
File "/opt/conda/envs/nibabies/lib/python3.11/site-packages/nipype/pipeline/plugins/multiproc.py", line 66, in run_node
result["result"] = node.run(updatehash=updatehash)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/envs/nibabies/lib/python3.11/site-packages/nipype/pipeline/engine/nodes.py", line 525, in run
result = self._run_interface(execute=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/envs/nibabies/lib/python3.11/site-packages/nipype/pipeline/engine/nodes.py", line 643, in _run_interface
return self._run_command(execute)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/envs/nibabies/lib/python3.11/site-packages/nipype/pipeline/engine/nodes.py", line 769, in _run_command
raise NodeExecutionError(msg)
nipype.pipeline.engine.nodes.NodeExecutionError: Exception raised while executing Node resample.
Traceback:
Traceback (most recent call last):
File "/opt/conda/envs/nibabies/lib/python3.11/site-packages/nipype/interfaces/base/core.py", line 401, in run
runtime = self._run_interface(runtime)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/envs/nibabies/lib/python3.11/site-packages/nibabies/interfaces/resampling.py", line 186, in _run_interface
transforms = load_transforms(self.inputs.transforms, self.inputs.inverse)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/envs/nibabies/lib/python3.11/site-packages/nibabies/interfaces/resampling.py", line 51, in load_transforms
xfm = load_ants_h5(path)
^^^^^^^^^^^^^^^^^^
File "/opt/conda/envs/nibabies/lib/python3.11/site-packages/nibabies/interfaces/resampling.py", line 90, in load_ants_h5
transforms = [nt.Affine(xform[0].to_ras())]
~~~~~^^^
IndexError: list index out of range
Add any additional information or context about the problem here.
No response
effigies commented
With the latest nitransforms, there should be no further need for this function. It can be gotten rid of.