I have a list of filepaths to 3D Nifti Files. I use nilearn’s resample_img
to resample the images to a target affine. resample_img
returns the files as a 4D Image. I then want to pass this object and the labels to my scikit-learn pipeline, however I get the error:
ValueError: Found input variables with inconsistent numbers of samples
I know why this error happens: scikit-learn (or more precise check_consistent_length()
) compares the length of the first dimension of X (so the length of the x-axis, which is of course the wrong axis) and y (number of samples) and will throw the error since they are of unequal length. Is there any way to let the pipeline accept my 4D object? I guess if I could hack this ‘safety function’ everything would still work. My first transformer contains NiftiMasker
which will automatically transform the 4D img to the right format (n_samples * n_features), so after the 4D file is transformed, X and y do have the right shape.