Source code for ants.ops.image_type_cast


[docs] def image_type_cast(image_list, pixeltype=None): """ Cast a list of images to the highest pixeltype present in the list or all to a specified type ANTsR function: `antsImageTypeCast` Arguments --------- image_list : list/tuple images to cast pixeltype : string (optional) pixeltype to cast to. If None, images will be cast to the highest precision pixeltype found in image_list Returns ------- list of ANTsImages given images casted to new type """ if not isinstance(image_list, (list,tuple)): raise ValueError('image_list must be list of ANTsImage types') pixtypes = [] for img in image_list: pixtypes.append(img.pixeltype) if pixeltype is None: pixeltype = 'unsigned char' for p in pixtypes: if p == 'double': pixeltype = 'double' elif (p=='float') and (pixeltype!='double'): pixeltype = 'float' elif (p=='unsigned int') and (pixeltype!='float') and (pixeltype!='double'): pixeltype = 'unsigned int' out_images = [] for img in image_list: if img.pixeltype == pixeltype: out_images.append(img) else: out_images.append(img.clone(pixeltype)) return out_images