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)
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)