def test_artifacts(brainweb): data = op.join(get_brainweb_1mm_normal(), 'sub-normal01') airdata = nb.load(op.join(get_brainweb_1mm_normal(), 'derivatives', 'volume_fraction_bck.nii.gz')).get_data() fname = op.join(data, brainweb.split('_')[1], 'anat', brainweb) imdata = nb.load(fname).get_data().astype(np.float32) value, _ = art_qi2(imdata[::4,::4,::4], airdata[::4,::4,::4]) assert value > .0 and value <= 1
def __init__(self): self.data = op.join(get_brainweb_1mm_normal(), 'sub-normal01') self.wmmask = op.join(get_brainweb_1mm_normal(), 'derivatives', 'volume_fraction_wht.nii.gz') self.wmdata = nb.load(self.wmmask).get_data().astype(np.float32) self.airmask = op.join(get_brainweb_1mm_normal(), 'derivatives', 'volume_fraction_bck.nii.gz') self.airdata = nb.load(self.airmask).get_data().astype(np.float32) self.ses = 'ses-pn0rf00' self.im_file = op.join(self.data, self.ses, 'anat', 'sub-normal01_%s_T1w.nii.gz' % self.ses) self.imdata = nb.load(self.im_file).get_data() self.fg_mean = np.median(self.imdata[self.wmdata > .99])
def test_cjv(sigma, exp_cjv, rtol=0.1): data = op.join(get_brainweb_1mm_normal(), 'sub-normal01') wmmask = op.join(get_brainweb_1mm_normal(), 'derivatives', 'volume_fraction_wht.nii.gz') wmdata = nb.load(wmmask).get_data().astype(np.float32) gmmask = op.join(get_brainweb_1mm_normal(), 'derivatives', 'volume_fraction_gry.nii.gz') gmdata = nb.load(gmmask).get_data().astype(np.float32) ses = 'ses-pn0rf00' im_file = op.join(data, ses, 'anat', 'sub-normal01_%s_T1w.nii.gz' % ses) imdata = nb.load(im_file).get_data() fg_mean = np.mean(imdata[wmdata > .95]) test_data = imdata + np.random.normal(0.0, scale=sigma*fg_mean, size=imdata.shape) test_data[test_data < 0] = 0 assert abs(cjv(test_data, wmmask=wmdata, gmmask=gmdata) - exp_cjv) < rtol