-
Notifications
You must be signed in to change notification settings - Fork 265
Open
Description
I am currently using nibabel 5.3.2. I wrote a script to makes an edit to an mgz image. After running the script I noticed that nibabel adds what looks like rounding error to some of the mgz header. Below is my whole script.
import nibabel as nb
import numpy as np
import sys
oldfilledmgz = nb.freesurfer.mghformat.load(sys.argv[1])
newfilledmgz = nb.freesurfer.mghformat.load(sys.argv[2])
WMmgz = nb.freesurfer.mghformat.load(sys.argv[3])
oldfilled=np.asanyarray(oldfilledmgz.dataobj)
newfilled=np.asanyarray(newfilledmgz.dataobj)
WM=np.asanyarray(WMmgz.dataobj)
if not np.equal(oldfilled,newfilled):
WM[(oldfilled == 0) & ((newfilled == 127) | (newfilled==255)) ] = 255
WM[(newfilled == 0) & ((oldfilled == 127) | (oldfilled==255)) ] = 1
WMnew = nb.freesurfer.mghformat.MGHImage(WM, WMmgz.affine, header=WMmgz)
WMnew.set_filename(sys.argv[3])
nb.save(WMnew, sys.argv[3])
Metadata
Metadata
Assignees
Labels
No labels