Python SimpleITK.ImageFileWriter() Examples
The following are 3
code examples of SimpleITK.ImageFileWriter().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
SimpleITK
, or try the search function
.
Example #1
Source File: test_io.py From torchio with MIT License | 5 votes |
def write_dicom(self): self.dicom_dir = self.dir / 'dicom' self.dicom_dir.mkdir(exist_ok=True) self.dicom_path = self.dicom_dir / 'dicom.dcm' self.nii_path = self.get_image_path('read_image') writer = sitk.ImageFileWriter() writer.SetFileName(str(self.dicom_path)) image = sitk.ReadImage(str(self.nii_path)) image = sitk.Cast(image, sitk.sitkUInt16) image = image[0] # dicom reader supports 2D only writer.Execute(image)
Example #2
Source File: image.py From MedicalDataAugmentationTool with GNU General Public License v3.0 | 5 votes |
def write(img, path, compress=True): """ Write a volume to a file path. :param img: the volume :param path: the target path :return: """ create_directories_for_file_name(path) writer = sitk.ImageFileWriter() writer.Execute(img, path, compress)
Example #3
Source File: demo.py From Recursive-Cascaded-Networks with MIT License | 4 votes |
def save_dcm(img, series_reader, fpath): try: os.makedirs(fpath) except: pass img = img[::-1, :, ::-1] img = np.transpose(img, (2, 1, 0)) filtered_image = sitk.GetImageFromArray(img) writer = sitk.ImageFileWriter() # Use the study/series/frame of reference information given in the meta-data # dictionary and not the automatically generated information from the file IO writer.KeepOriginalImageUIDOn() tags_to_copy = ["0010|0010", # Patient Name "0010|0020", # Patient ID "0010|0030", # Patient Birth Date "0020|000D", # Study Instance UID, for machine consumption "0020|0010", # Study ID, for human consumption "0008|0020", # Study Date "0008|0030", # Study Time "0008|0050", # Accession Number "0008|0060" # Modality ] modification_time = time.strftime("%H%M%S") modification_date = time.strftime("%Y%m%d") # Copy some of the tags and add the relevant tags indicating the change. # For the series instance UID (0020|000e), each of the components is a number, cannot start # with zero, and separated by a '.' We create a unique series ID using the date and time. # tags of interest: direction = filtered_image.GetDirection() series_tag_values = [(k, series_reader.GetMetaData(0,k)) for k in tags_to_copy if series_reader.HasMetaDataKey(0,k)] + \ [("0008|0031",modification_time), # Series Time ("0008|0021",modification_date), # Series Date ("0008|0008","DERIVED\\SECONDARY"), # Image Type ("0020|000e", "1.2.826.0.1.3680043.2.1125."+modification_date+".1"+modification_time), # Series Instance UID ("0020|0037", '\\'.join(map(str, (direction[0], direction[3], direction[6],# Image Orientation (Patient) direction[1],direction[4],direction[7])))), ("0008|103e", series_reader.GetMetaData(0,"0008|103e") + " Processed-SimpleITK")] # Series Description for i in range(filtered_image.GetDepth()): image_slice = filtered_image[:,:,i] # Tags shared by the series. for tag, value in series_tag_values: image_slice.SetMetaData(tag, value) # Slice specific tags. image_slice.SetMetaData("0008|0012", time.strftime("%Y%m%d")) # Instance Creation Date image_slice.SetMetaData("0008|0013", time.strftime("%H%M%S")) # Instance Creation Time image_slice.SetMetaData("0020|0032", '\\'.join(map(str,filtered_image.TransformIndexToPhysicalPoint((0,0,i))))) # Image Position (Patient) image_slice.SetMetaData("0020|0013", str(i)) # Instance Number # Write to the output directory and add the extension dcm, to force writing in DICOM format. writer.SetFileName(os.path.join(fpath, str(i) + '.dcm')) writer.Execute(image_slice)