Source code for omni.pipelines.func.normalize

import logging
import nibabel as nib
from memori.pathman import append_suffix, replace_suffix, repath
from memori.helpers import create_output_path
from omni.interfaces.common import normalize
from omni.interfaces.ants import N4BiasFieldCorrection


[docs]@create_output_path def debias(output_path: str, ref_func: str, spline_fit: str = "[200,3,1x1x1,3]"): """Bias field correction of anatomical images. Parameters ---------- output_path : str Output path to write out files to. ref_func : str Reference functional spline_fit : str Custom spline fitting string. Returns ------- str Bias field corrected/Normalized functional. """ # normalize images logging.info("Normalizing functional...") ref_func_nm = append_suffix(repath(output_path, ref_func), "_nm") nib.Nifti1Image( 10000 * normalize(nib.load(ref_func).get_fdata()), nib.load(ref_func).affine, nib.load(ref_func).header ).to_filename(ref_func_nm) # Bias correct functional logging.info("Bias field correcting anatomical images...") ref_func_debias = replace_suffix(ref_func_nm, "_debias") N4BiasFieldCorrection(ref_func_debias, ref_func_nm, spline_fit) # return images return ref_func_debias