本文整理汇总了Python中SimpleITK.ReadImage方法的典型用法代码示例。如果您正苦于以下问题:Python SimpleITK.ReadImage方法的具体用法?Python SimpleITK.ReadImage怎么用?Python SimpleITK.ReadImage使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SimpleITK
的用法示例。
在下文中一共展示了SimpleITK.ReadImage方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __GetFeatureValuesEachModality
# 需要导入模块: import SimpleITK [as 别名]
# 或者: from SimpleITK import ReadImage [as 别名]
def __GetFeatureValuesEachModality(self, data_path, roi_path, key_name):
if self.__is_ignore_tolerence:
image = sitk.ReadImage(data_path)
roi_image = sitk.ReadImage(roi_path)
roi_image.CopyInformation(image)
result = self.extractor.execute(image, roi_image)
else:
result = self.extractor.execute(data_path, roi_path)
feature_names = []
feature_values = []
for feature_name, feature_value in zip(list(result.keys()), list(result.values())):
if self.__is_ignore_diagnostic and 'diagnostics' in feature_name:
continue
feature_names.append(key_name + '_' + feature_name)
feature_values.append(feature_value)
return feature_names, feature_values
示例2: load_itk_image
# 需要导入模块: import SimpleITK [as 别名]
# 或者: from SimpleITK import ReadImage [as 别名]
def load_itk_image(filename):
with open(filename) as f:
contents = f.readlines()
line = [k for k in contents if k.startswith('TransformMatrix')][0]
transformM = np.array(line.split(' = ')[1].split(' ')).astype('float')
transformM = np.round(transformM)
if np.any( transformM!=np.array([1,0,0, 0, 1, 0, 0, 0, 1])):
isflip = True
else:
isflip = False
itkimage = sitk.ReadImage(filename)
numpyImage = sitk.GetArrayFromImage(itkimage)
numpyOrigin = np.array(list(reversed(itkimage.GetOrigin())))
numpySpacing = np.array(list(reversed(itkimage.GetSpacing())))
return numpyImage, numpyOrigin, numpySpacing,isflip
示例3: eyesize_basic_test
# 需要导入模块: import SimpleITK [as 别名]
# 或者: from SimpleITK import ReadImage [as 别名]
def eyesize_basic_test():
downloader = imagedownloader.ImageDownloader()
estimator = eyesize.EyeSize()
image_name = "TralitusSaltrator.jpg"
downloader.set_figshare_id("1066744")
downloader.set_image_name(image_name)
downloader.download()
input_image = sitk.ReadImage(image_name)
estimator.set_image(input_image)
estimator.set_seed_point([204,400])
eyes_segmented,radius_estimate = estimator.estimate()
sitk.WriteImage(eyes_segmented,'SegmentedEye.png')
assert radius_estimate == 85
示例4: eyesize_noisy_test
# 需要导入模块: import SimpleITK [as 别名]
# 或者: from SimpleITK import ReadImage [as 别名]
def eyesize_noisy_test():
downloader = imagedownloader.ImageDownloader()
estimator = eyesize.EyeSize()
image_name = "TralitusSaltrator.jpg"
downloader.set_figshare_id("1066744")
downloader.set_image_name(image_name)
downloader.download()
input_image = sitk.ReadImage(image_name)
estimator.set_image(input_image)
estimator.set_seed_point([204,400])
eyes_segmented,radius_estimate = estimator.estimate()
sitk.WriteImage(eyes_segmented,'SegmentedEye.png')
expected_value = 85
assert radius_estimate == expected_value, \
"Problem with estimating radius: current: %s, expected: %s" % (radius_estimate, expected_value)
示例5: N4BiasFieldCorrection
# 需要导入模块: import SimpleITK [as 别名]
# 或者: from SimpleITK import ReadImage [as 别名]
def N4BiasFieldCorrection(src_path, dst_path):
'''
This function carry out BiasFieldCorrection for the files in a specific directory
:param src_path: path of the source file
:param dst_path: path of the target file
:return:
'''
print("N4 bias correction runs.")
inputImage = sitk.ReadImage(src_path)
maskImage = sitk.OtsuThreshold(inputImage, 0, 1, 200)
sitk.WriteImage(maskImage, dst_path)
inputImage = sitk.Cast(inputImage, sitk.sitkFloat32)
corrector = sitk.N4BiasFieldCorrectionImageFilter()
# corrector.SetMaximumNumberOfIterations(10)
output = corrector.Execute(inputImage, maskImage)
sitk.WriteImage(output, dst_path)
print("Finished N4 Bias Field Correction.....")
# normalize the data(zero mean and unit variance)
示例6: load_nifty_volume_as_4d_array
# 需要导入模块: import SimpleITK [as 别名]
# 或者: from SimpleITK import ReadImage [as 别名]
def load_nifty_volume_as_4d_array(filename):
"""Read a nifty image and return a dictionay storing data array, spacing and direction
output['data_array'] 4d array with shape [C, D, H, W]
output['spacing'] a list of spacing in z, y, x axis
output['direction'] a 3x3 matrix for direction
"""
img_obj = sitk.ReadImage(filename)
data_array = sitk.GetArrayFromImage(img_obj)
origin = img_obj.GetOrigin()
spacing = img_obj.GetSpacing()
direction = img_obj.GetDirection()
shape = data_array.shape
if(len(shape) == 4):
assert(shape[3] == 1)
elif(len(shape) == 3):
data_array = np.expand_dims(data_array, axis = 0)
else:
raise ValueError("unsupported image dim: {0:}".format(len(shape)))
output = {}
output['data_array'] = data_array
output['origin'] = origin
output['spacing'] = (spacing[2], spacing[1], spacing[0])
output['direction'] = direction
return output
示例7: read_images
# 需要导入模块: import SimpleITK [as 别名]
# 或者: from SimpleITK import ReadImage [as 别名]
def read_images(self, path, affix):
t1 = sitk.GetArrayFromImage(sitk.ReadImage(glob.glob(os.path.join(path, '*_t1' + affix))[0]))
t1ce = sitk.GetArrayFromImage(sitk.ReadImage(glob.glob(os.path.join(path, '*_t1ce' + affix))[0]))
t2 = sitk.GetArrayFromImage(sitk.ReadImage(glob.glob(os.path.join(path, '*_t2' + affix))[0]))
flair = sitk.GetArrayFromImage(sitk.ReadImage(glob.glob(os.path.join(path, '*_flair' + affix))[0]))
# scale to 0 to 1
t1 = (t1 - np.amin(t1)) / (np.amax(t1) - np.amin(t1))
t1ce = (t1ce - np.amin(t1ce)) / (np.amax(t1ce) - np.amin(t1ce))
t2 = (t2 - np.amin(t2)) / (np.amax(t2) - np.amin(t2))
flair = (flair - np.amin(flair)) / (np.amax(flair) - np.amin(flair))
# scale to 0 mean, 1 std
#t1 = (t1 - np.mean(t1)) / np.std(t1)
#t1ce = (t1ce - np.mean(t1ce)) / np.std(t1ce)
#t2 = (t2 - np.mean(t2)) / np.std(t2)
#flair = (flair - np.mean(flair)) / np.std(flair)
images = np.stack((t1, t1ce, t2, flair), axis=-1).astype(np.float32)
return images
示例8: getImages
# 需要导入模块: import SimpleITK [as 别名]
# 或者: from SimpleITK import ReadImage [as 别名]
def getImages(testFilename, resultFilename):
"""Return the test and result images, thresholded and non-WMH masked."""
testImage = sitk.ReadImage(testFilename)
resultImage = sitk.ReadImage(resultFilename)
assert testImage.GetSize() == resultImage.GetSize()
# Get meta data from the test-image, needed for some sitk methods that check this
resultImage.CopyInformation(testImage)
# Remove non-WMH from the test and result images, since we don't evaluate on that
maskedTestImage = sitk.BinaryThreshold(testImage, 0.5, 1.5, 1, 0) # WMH == 1
nonWMHImage = sitk.BinaryThreshold(testImage, 1.5, 2.5, 0, 1) # non-WMH == 2
maskedResultImage = sitk.Mask(resultImage, nonWMHImage)
# Convert to binary mask
if 'integer' in maskedResultImage.GetPixelIDTypeAsString():
bResultImage = sitk.BinaryThreshold(maskedResultImage, 1, 1000, 1, 0)
else:
bResultImage = sitk.BinaryThreshold(maskedResultImage, 0.5, 1000, 1, 0)
return maskedTestImage, bResultImage
示例9: pp_patient
# 需要导入模块: import SimpleITK [as 别名]
# 或者: from SimpleITK import ReadImage [as 别名]
def pp_patient(self, path):
pid = path.split('/')[-1]
img = sitk.ReadImage(os.path.join(path, '{}_ct_scan.nrrd'.format(pid)))
img_arr = sitk.GetArrayFromImage(img)
print('processing {} with GT(s) {}, spacing {} and img shape {}.'.format(
pid, " and ".join(self.cf.gts_to_produce), img.GetSpacing(), img_arr.shape))
img_arr = resample_array(img_arr, img.GetSpacing(), self.cf.target_spacing)
img_arr = np.clip(img_arr, -1200, 600)
#img_arr = (1200 + img_arr) / (600 + 1200) * 255 # a+x / (b-a) * (c-d) (c, d = new)
img_arr = img_arr.astype(np.float32)
img_arr = (img_arr - np.mean(img_arr)) / np.std(img_arr).astype('float16')
df = pd.read_csv(os.path.join(self.cf.root_dir, 'characteristics.csv'), sep=';')
df = df[df.PatientID == pid]
np.save(os.path.join(self.cf.pp_dir, '{}_img.npy'.format(pid)), img_arr)
if 'single_annotator' in self.cf.gts_to_produce or 'sa' in self.cf.gts_to_produce:
self.produce_sa_gt(path, pid, df, img.GetSpacing(), img_arr.shape)
if 'merged' in self.cf.gts_to_produce:
self.produce_merged_gt(path, pid, df, img.GetSpacing(), img_arr.shape)
示例10: __init__
# 需要导入模块: import SimpleITK [as 别名]
# 或者: from SimpleITK import ReadImage [as 别名]
def __init__ (self, uid):
CaseBase.__init__(self)
self.uid = uid
self.path = os.path.join(LUNA_DIR_LOOKUP[uid], uid + '.mhd')
if not os.path.exists(self.path):
raise Exception('data not found for uid %s at %s' % (uid, self.path))
pass
#self.thumb_path = os.path.join(DATA_DIR, 'thumb', uid)
# load path
itkimage = itk.ReadImage(self.path)
self.HU = (1.0, 0.0)
self.images = itk.GetArrayFromImage(itkimage).astype(np.float32)
#print type(self.images), self.images.dtype
self.origin = list(reversed(itkimage.GetOrigin()))
self.spacing = list(reversed(itkimage.GetSpacing()))
self.view = AXIAL
_, a, b = self.spacing
self.anno = LUNA_ANNO.get(uid, None)
assert a == b
# sanity check
pass
示例11: __init__
# 需要导入模块: import SimpleITK [as 别名]
# 或者: from SimpleITK import ReadImage [as 别名]
def __init__ (self, path, uid=None):
VolumeBase.__init__(self)
self.uid = uid
self.path = path
if not os.path.exists(self.path):
raise Exception('data not found for uid %s at %s' % (uid, self.path))
pass
#self.thumb_path = os.path.join(DATA_DIR, 'thumb', uid)
# load path
itkimage = itk.ReadImage(self.path)
self.HU = (1.0, 0.0)
self.images = itk.GetArrayFromImage(itkimage).astype(np.float32)
#print type(self.images), self.images.dtype
self.origin = list(reversed(itkimage.GetOrigin()))
self.spacing = list(reversed(itkimage.GetSpacing()))
self.view = AXIAL
_, a, b = self.spacing
#self.anno = LUNA_ANNO.get(uid, None)
assert a == b
# sanity check
pass
示例12: copy_BraTS_segmentation_and_convert_labels
# 需要导入模块: import SimpleITK [as 别名]
# 或者: from SimpleITK import ReadImage [as 别名]
def copy_BraTS_segmentation_and_convert_labels(in_file, out_file):
# use this for segmentation only!!!
# nnUNet wants the labels to be continuous. BraTS is 0, 1, 2, 4 -> we make that into 0, 1, 2, 3
img = sitk.ReadImage(in_file)
img_npy = sitk.GetArrayFromImage(img)
uniques = np.unique(img_npy)
for u in uniques:
if u not in [0, 1, 2, 4]:
raise RuntimeError('unexpected label')
seg_new = np.zeros_like(img_npy)
seg_new[img_npy == 4] = 3
seg_new[img_npy == 2] = 1
seg_new[img_npy == 1] = 2
img_corr = sitk.GetImageFromArray(seg_new)
img_corr.CopyInformation(img)
sitk.WriteImage(img_corr, out_file)
示例13: load_itk_image
# 需要导入模块: import SimpleITK [as 别名]
# 或者: from SimpleITK import ReadImage [as 别名]
def load_itk_image(filename):
with open(filename) as f:
contents = f.readlines()
line = [k for k in contents if k.startswith('TransformMatrix')][0]
transformM = np.array(line.split(' = ')[1].split(' ')).astype('float')
transformM = np.round(transformM)
if np.any(transformM != np.array([1, 0, 0, 0, 1, 0, 0, 0, 1])):
isflip = True
else:
isflip = False
itkimage = sitk.ReadImage(filename)
numpyImage = sitk.GetArrayFromImage(itkimage)
numpyOrigin = np.array(list(reversed(itkimage.GetOrigin())))
numpySpacing = np.array(list(reversed(itkimage.GetSpacing())))
return numpyImage, numpyOrigin, numpySpacing, isflip
示例14: load_itk_image
# 需要导入模块: import SimpleITK [as 别名]
# 或者: from SimpleITK import ReadImage [as 别名]
def load_itk_image(filename):
with open(filename) as f:
contents = f.readlines()
line = [k for k in contents if k.startswith('TransformMatrix')][0]
transformM = np.array(line.split(' = ')[1].split(' ')).astype('float')
transformM = np.round(transformM)
if np.any( transformM!=np.array([1,0,0, 0, 1, 0, 0, 0, 1])):
isflip = True
else:
isflip = False
itkimage = sitk.ReadImage(filename)
numpyImage = sitk.GetArrayFromImage(itkimage)
numpyOrigin = np.array(list(reversed(itkimage.GetOrigin())))
numpySpacing = np.array(list(reversed(itkimage.GetSpacing())))
return numpyImage, numpyOrigin, numpySpacing, isflip
示例15: load_itk_image
# 需要导入模块: import SimpleITK [as 别名]
# 或者: from SimpleITK import ReadImage [as 别名]
def load_itk_image(filename):
with open(filename) as f:
contents = f.readlines()
line = [k for k in contents if k.startswith('TransformMatrix')][0]
transformM = np.array(line.split(' = ')[1].split(' ')).astype('float')
transformM = np.round(transformM)
if np.any( transformM!=np.array([1,0,0, 0, 1, 0, 0, 0, 1])):
isflip = True
else:
isflip = False
itkimage = sitk.ReadImage(filename)
numpyImage = sitk.GetArrayFromImage(itkimage)
numpyOrigin = np.array(list(reversed(itkimage.GetOrigin())))
numpySpacing = np.array(list(reversed(itkimage.GetSpacing())))
return numpyImage, numpyOrigin, numpySpacing, isflip