コード例 #1
0
ファイル: registration.py プロジェクト: cindeem/nipy
def transform(floating, T, reference=None, interp_order=3):

    # Convert assumed nibabel-like input images to local image class
    floating = Image(floating)
    if not reference == None: 
        reference = Image(reference)

    return asNifti1Image(floating.transform(np.asarray(T), grid_coords=False,
                                            reference=reference, interp_order=interp_order))
コード例 #2
0
ファイル: zurich.py プロジェクト: alexis-roche/scripts
    T = GridTransform(I, defmodes.data.reshape(list(I.shape)+[7,3]))
    # freeze mean deformation component
    T._param[0] = 1
    T._free_param_idx = [1,2,3,4,5,6]

    if 'defrand' in TYPE: 
        best_param = np.load('t3_def_crl1.npy')
        best_simi = 0.0 
        for i in range(NTRIALS): 
            T.param = best_param + std*np.random.normal(std.size)
            T = R.optimize(T)
            optimum = R.eval(T)
            if optimum > best_simi: 
                print(' *** New best ***') 
                best_simi = optimum 
                best_param = T.param
            else: 
                print(' *** Unbeaten optimum ***') 
                T.param = best_param 
    else: 
        T.param = identity 
        T = R.optimize(T)


# Create matcher instance
fname = 't'+str(ID)+'_'+TYPE+'_'+SIMI+'_'+INTERP
outfile = join(DATADIR, fname+'.nii') 
print('Saving resampled source in: %s' % outfile)
Jt = J.transform(T, reference=I)
save(asNifti1Image(Jt), outfile)
コード例 #3
0
ファイル: test_refactor.py プロジェクト: alexis-roche/scripts
import scipy.ndimage as nd


datadir = 'D:\home\Alexis\data\delphine\zozo'
path = join(datadir, 'BiasCorIm.img')

# Usecase 0: load an image 
I = Image(load(path))

# Usecase 1: image masking
I1 = I.set_mask(np.where(I.data>100))

# Usecase 2: define a regular image patch (subgridding)
I2 = I[5:10:2, 5:10:2, 5:10:2]

# Usecase 3: get all masked values in an image 
tmp = I2.values()

# Usecase 4: image interpolation 
XYZ = 100*np.random.rand(3,10)
tmp = I.values(XYZ)

# Usecase 4: move an image using an affine transformation 
T = np.eye(4)
T[0:3,3] = 10*np.random.rand(3)
J = I.transform(T)

# Usecase 5: set image values
I2 = I2.set(I2.data**2+2)
I1 = I1.set(I1.values()**2+2)
コード例 #4
0
import numpy as np 
from nibabel import load, save
from nipy.neurospin.image import Image, asNifti1Image
from os.path import join 
from glob import glob

datadir = join('d:\\', 'home', 'Alexis', 'data', 'remy')
I = Image(load(join(datadir, '2_axial_FL_AD_ROI.nii')))

defmodes = glob(join(datadir, 'NEW_SDF', 'SDF_*.nii'))
data = np.zeros(list(I.shape)+[len(defmodes)])
for i in range(len(defmodes)):
    print('image: %d (%s)' % (i, defmodes[i]))
    m = Image(load(defmodes[i]))
    mm = m.transform(np.eye(4), reference=I)
    data[:,:,:,i] = mm.data

save(asNifti1Image(Image(data, I.affine)), join(datadir, 'deformation_modes.nii'))