Skip to content

v.2.3.1 / latest conda env osle: coregistration error: float expects a scalar #409

@CarinaFo

Description

@CarinaFo

Good morning,

I ran the batch with the latest version and got this error in the logs.

osl-ephys SOURCE RECON failed at: 2025-05-21 10:07:09
Processing failed during stage : "coregister"<class 'TypeError'>
only size-1 arrays can be converted to Python scalars
File "/home/carinaf/miniforge3/envs/osle/lib/python3.8/site-packages/osl_ephys/source_recon/batch.py", line 248, in run_src_chain
wrapped_func(
File "/home/carinaf/miniforge3/envs/osle/lib/python3.8/site-packages/osl_ephys/source_recon/batch.py", line 247, in wrapped_func
return func(**kwargs_to_pass)
File "/home/carinaf/miniforge3/envs/osle/lib/python3.8/site-packages/osl_ephys/source_recon/wrappers.py", line 412, in coregister
fid_err = rhino.coreg_metrics(subjects_dir=outdir, subject=subject)
File "/home/carinaf/miniforge3/envs/osle/lib/python3.8/site-packages/osl_ephys/source_recon/rhino/coreg.py", line 447, in coreg_metrics
coreg_error = float(coreg_error)

I fixed it by replacing line 447 with:

# handles arrays
coreg_error = float(coreg_error[0]) if hasattr(coreg_error, "__getitem__") else float(coreg_error)

Also got another error (simple missing package error)

osl-ephys SOURCE RECON failed at: 2025-05-21 10:22:24
Processing failed during stage : "coregister"<class 'ImportError'>
Please install pythreejs to use this feature
File "/home/carinaf/miniforge3/envs/osle/lib/python3.8/site-packages/osl_ephys/source_recon/batch.py", line 248, in run_src_chain
wrapped_func(
File "/home/carinaf/miniforge3/envs/osle/lib/python3.8/site-packages/osl_ephys/source_recon/batch.py", line 247, in wrapped_func
return func(**kwargs_to_pass)
File "/home/carinaf/miniforge3/envs/osle/lib/python3.8/site-packages/osl_ephys/source_recon/wrappers.py", line 418, in coregister
rhino.coreg_display(
File "/home/carinaf/miniforge3/envs/osle/lib/python3.8/site-packages/osl_ephys/source_recon/rhino/coreg.py", line 777, in coreg_display
rhino_utils.save_or_show_renderer(renderer, filename)
File "/home/carinaf/miniforge3/envs/osle/lib/python3.8/site-packages/osl_ephys/source_recon/rhino/utils.py", line 986, in save_or_show_renderer
renderer.figure.plotter.export_html(filename)
File "/home/carinaf/miniforge3/envs/osle/lib/python3.8/site-packages/pyvista/plotting/plotting.py", line 525, in export_html
widget = self.to_pythreejs()
File "/home/carinaf/miniforge3/envs/osle/lib/python3.8/site-packages/pyvista/plotting/plotting.py", line 571, in to_pythreejs
from pyvista.jupyter.pv_pythreejs import convert_plotter
File "/home/carinaf/miniforge3/envs/osle/lib/python3.8/site-packages/pyvista/jupyter/pv_pythreejs.py", line 10, in
raise ImportError('Please install pythreejs to use this feature')

Installing the latest version of pythreejs fixed that.

I also got some fsl related error logs (mainly plotting stuff)

osl-ephys SOURCE RECON failed at: 2025-05-21 10:34:41
Processing failed during stage : "compute_surfaces"<class 'fsl.utils.path.PathError'>
Could not find a supported file with prefix "/home/carinaf/tms_mdd/source_reco_giles_parcel_strictest_rejection/199_4/rhino/surfaces/flirt_smri_mni.nii.gz"
File "/home/carinaf/miniforge3/envs/osle/lib/python3.8/site-packages/osl_ephys/source_recon/batch.py", line 248, in run_src_chain
wrapped_func(
File "/home/carinaf/miniforge3/envs/osle/lib/python3.8/site-packages/osl_ephys/source_recon/batch.py", line 247, in wrapped_func
return func(**kwargs_to_pass)
File "/home/carinaf/miniforge3/envs/osle/lib/python3.8/site-packages/osl_ephys/source_recon/wrappers.py", line 259, in compute_surfaces
already_computed = rhino.compute_surfaces(
File "/home/carinaf/miniforge3/envs/osle/lib/python3.8/site-packages/osl_ephys/source_recon/rhino/surfaces.py", line 305, in compute_surfaces
fsl_wrappers.bet(flirt_smri_mni_file, flirt_smri_mni_bet_file, A=True)
File "/home/carinaf/miniforge3/envs/osle/lib/python3.8/site-packages/fsl/wrappers/wrapperutils.py", line 1215, in wrapper
result = fot(*args, **kwargs)
File "/home/carinaf/miniforge3/envs/osle/lib/python3.8/site-packages/fsl/wrappers/wrapperutils.py", line 854, in call
result = func(*args, **kwargs)
File "/home/carinaf/miniforge3/envs/osle/lib/python3.8/site-packages/fsl/wrappers/wrapperutils.py", line 202, in wrapper
cmd = func(*args, **kwargs)
File "/home/carinaf/miniforge3/envs/osle/lib/python3.8/site-packages/fsl/wrappers/bet.py", line 32, in bet
asrt.assertIsNifti(input)
File "/home/carinaf/miniforge3/envs/osle/lib/python3.8/site-packages/fsl/utils/assertions.py", line 70, in wrapper
return func(*args, **kwargs)
File "/home/carinaf/miniforge3/envs/osle/lib/python3.8/site-packages/fsl/utils/assertions.py", line 105, in assertIsNifti
f = ensure.ensureIsImage(f)
File "/home/carinaf/miniforge3/envs/osle/lib/python3.8/site-packages/fsl/utils/ensure.py", line 27, in ensureIsImage
img = fslimage.addExt(img)
File "/home/carinaf/miniforge3/envs/osle/lib/python3.8/site-packages/fsl/data/image.py", line 1951, in addExt
raise e
File "/home/carinaf/miniforge3/envs/osle/lib/python3.8/site-packages/fsl/data/image.py", line 1938, in addExt
return fslpath.addExt(prefix,
File "/home/carinaf/miniforge3/envs/osle/lib/python3.8/site-packages/fsl/utils/path.py", line 196, in addExt
raise PathError('Could not find a supported file '

Is there a recommended fsl version? The installed version on the cluster I am using is 6.0.5.

currently not working with the cloned repo, but I think I will from now on, so I can fix the stuff and send a PR, save both you and me time :)

Cheers,

Carina

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions