In [1]:
%matplotlib inline
In [2]:
import os
os.chdir('/Users/albert/ndreg')
In [3]:
from ndreg import *
import matplotlib
import ndio.remote.neurodata as neurodata
import nibabel as nb
In [23]:
inToken = "Control258"
nd = neurodata()
print(nd.get_metadata(inToken)['dataset']['voxelres'].keys())
In [24]:
inImg = imgDownload(inToken, resolution=5)
imgShow(inImg, vmax=500)
In [25]:
print(inImg.GetSpacing())
In [26]:
refToken = "ara_ccf2"
refImg = imgDownload(refToken)
In [27]:
imgShow(refImg)
In [28]:
imgShow(refImg, vmax=500)
In [29]:
refAnnoImg = imgDownload(refToken, channel="annotation")
imgShow(refAnnoImg, vmax=1000)
In [30]:
randValues = np.random.rand(1000,3)
In [31]:
randValues = np.concatenate(([[0,0,0]],randValues))
In [32]:
randCmap = matplotlib.colors.ListedColormap (randValues)
imgShow(refAnnoImg, vmax=1000, cmap=randCmap)
In [33]:
imgShow(refImg, vmax=500, newFig=False)
imgShow(refAnnoImg, vmax=1000, cmap=randCmap, alpha=0.2, newFig=False)
plt.show()
In [34]:
print(inImg.GetSpacing())
print(refImg.GetSpacing())
In [36]:
inImg.SetSpacing([0.01872, 0.01872, 0.005])
In [37]:
print(inImg.GetSpacing())
print(refImg.GetSpacing())
In [38]:
refImg = imgResample(refImg, spacing=inImg.GetSpacing())
imgShow(refImg, vmax=500)
In [39]:
imgShow(inImg, vmax=500)
In [40]:
refImg = imgReorient(refImg, "RSA", "LAI")
imgShow(refImg, vmax=500)
In [ ]:
(values, bins) = np.histogram(sitk.GetArrayFromImage(refImg), bins=100, range=(0,500))
plt.plot(bins[:-1], values)
In [ ]:
lowerThreshold = 100
upperThreshold = sitk.GetArrayFromImage(inImg).max()+1
refImg = sitk.Threshold(refImg,lowerThreshold,upperThreshold,lowerThreshold) - lowerThreshold
imgShow(inImg, vmax = 500)
In [ ]:
(values, bins) = np.histogram(sitk.GetArrayFromImage(refImg), bins=100, range=(0,500))
plt.plot(bins[:-1], values)
In [ ]:
affine = imgAffineComposite(refImg, inImg, iterations=100, useMI=True, verbose=True)
In [ ]:
refImg_affine = imgApplyAffine(refImg, affine, size=inImg.GetSize())
imgShow(inImg_affine, vmax=500)
In [ ]:
refImg = imgResample(refImg_affine, spacing=inImg.GetSpacing())
(field, invField) = imgMetamorphosisComposite(refImg, inImg, alphaList=[0.05, 0.02, 0.01], useMI=True, iterations=100, verbose=True)
refImg_lddmm = imgApplyField(refImg_affine, field, size=inImg.GetSize())
imgShow(inImg_lddmm, vmax = 500)