class RandomTranslate(object):
"""
Perfrom random translation about image center
"""
def __init__(self, maxOffset=[25,25]):
self.name = "Random Translate"
self.maxOffset = maxOffset
def __call__(self, sample):
images, label = sample['image'], sample['label']
dimension = 2
transform = sitk.TranslationTransform(dimension)
transform.SetOffset([
random.randrange(-1*self.maxOffset[0],self.maxOffset[0]),
random.randrange(-1*self.maxOffset[1],self.maxOffset[1]),
])
for image_channel in range(len(images)):
images[image_channel] = sitk.Resample(images[image_channel], images[0], transform, sitk.sitkLinear, 0.0)
label = sitk.Resample(label, images[0], transform, sitk.sitkNearestNeighbor, 0.0)
return {'image': images, 'label': label}
医学图像预处理----RandomTranslate
最新推荐文章于 2024-05-11 18:33:19 发布