similarity = params.similarity #'crl1' 'cc', 'mi', 'nmi', 'cr', 'slr'
    interp = params.interp #'pv', 'tri',
    renormalize = True
    optimizer = 'powell'

    print('Setting up registration...')
    print 'Similarity:',similarity
    tic = time.time()
    R = HistogramRegistration(moving, static, similarity=similarity,
                              interp=interp, renormalize=renormalize)

    T = R.optimize('affine', optimizer=optimizer)
    toc = time.time()
    print('Registration time: %f sec' % (toc - tic))
    warpDir='warp'    
    names=[os.path.join(warpDir,name) for name in os.listdir(warpDir)]
    for name in names:
        #---warp using the non-linear deformation
        toWarp=nib.load(name)
        toWarp=nib.Nifti1Image(toWarp.get_data().squeeze(), toWarp.get_affine())
        toWarp=nifti2nipy(toWarp)
        #toWarp=np.copy(toWarp, order='C')
        baseWarp=rcommon.getBaseFileName(name)
        warped= resample(toWarp, T.inv(), reference=static, interp_order=0)
        fmoved='warpedAffine_'+baseWarp+'_'+baseFixed+'.nii.gz'
        nib.save(nipy2nifti(warped, strict=True), fmoved)

    

    
data = img.get_data()
data, mask = median_otsu(data)

affine = img.get_affine()

static_id = 0
moving_id = 20

static = nifti2nipy(nib.Nifti1Image(data[..., static_id], affine))
moving = nifti2nipy(nib.Nifti1Image(data[..., moving_id], affine))

similarity = 'crl1' # 'cc', 'mi', 'nmi', 'cr', 'slr'
interp = 'pv' # 'tri',
renormalize = True
optimizer = 'powell'

print('Setting up registration...')
tic = time.time()
R = HistogramRegistration(moving, static, similarity=similarity,
                          interp=interp, renormalize=renormalize)

T = R.optimize('affine', optimizer=optimizer)
toc = time.time()
print('  Registration time: %f sec' % (toc - tic))

moving_new = resample(moving, T.inv(), reference=static)

nib.save(nipy2nifti(static, strict=True), 'static.nii.gz')
nib.save(nipy2nifti(moving, strict=True), 'moving.nii.gz')
nib.save(nipy2nifti(moving_new, strict=True), 'moved.nii.gz')

if __name__ == '__main__':

    fmoving = params.in_file
    fstatic = params.reference
    fmoved = params.out_file

    print(fmoving + ' --> ' + fstatic)

    static = nifti2nipy(nib.load(fstatic))
    moving = nifti2nipy(nib.load(fmoving))

    similarity = params.similarity #'crl1' 'cc', 'mi', 'nmi', 'cr', 'slr'
    interp = params.interp #'pv', 'tri',
    renormalize = True
    optimizer = 'powell'

    print('Setting up registration...')
    tic = time.time()
    R = HistogramRegistration(moving, static, similarity=similarity,
                              interp=interp, renormalize=renormalize)

    T = R.optimize('affine', optimizer=optimizer)
    toc = time.time()
    print('Registration time: %f sec' % (toc - tic))

    moving_new = resample(moving, T.inv(), reference=static)

    nib.save(nipy2nifti(moving_new, strict=True), fmoved)
Exemple #4
0
    similarity = params.similarity  #'crl1' 'cc', 'mi', 'nmi', 'cr', 'slr'
    interp = params.interp  #'pv', 'tri',
    renormalize = True
    optimizer = 'powell'

    print('Setting up registration...')
    print 'Similarity:', similarity
    tic = time.time()
    R = HistogramRegistration(moving,
                              static,
                              similarity=similarity,
                              interp=interp,
                              renormalize=renormalize)

    T = R.optimize('affine', optimizer=optimizer)
    toc = time.time()
    print('Registration time: %f sec' % (toc - tic))
    warpDir = 'warp'
    names = [os.path.join(warpDir, name) for name in os.listdir(warpDir)]
    for name in names:
        #---warp using the non-linear deformation
        toWarp = nib.load(name)
        toWarp = nib.Nifti1Image(toWarp.get_data().squeeze(),
                                 toWarp.get_affine())
        toWarp = nifti2nipy(toWarp)
        #toWarp=np.copy(toWarp, order='C')
        baseWarp = rcommon.getBaseFileName(name)
        warped = resample(toWarp, T.inv(), reference=static, interp_order=0)
        fmoved = 'warpedAffine_' + baseWarp + '_' + baseFixed + '.nii.gz'
        nib.save(nipy2nifti(warped, strict=True), fmoved)