123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- from SegmentiontoImageData import SegmentiontoImageData
- from ImagetoRT import *
- import os
- import datetime
- import glob
- import time
- from organList import * # "Organ" and "color_table"
-
- if __name__ == "__main__":
- start = time.time()
-
- dataset_folders = 'MONAI/'
- patient_folders = os.listdir(dataset_folders)
-
- for patient_folder in patient_folders:
- print(patient_folder, '='*50)
- label_path = 'MONAI/' + patient_folder + '/'
- dcm_file_path = 'DICOM/' + patient_folder + '/'
-
- print(dcm_file_path, label_path)
-
- spacingDatabase, DICOMInformation = SegmentiontoImageData(dcm_file_path, label_path)()
-
- try:
- RT_filename = glob.glob(dcm_file_path + 'RS*.dcm')[0]
- except:
- RT_filename = glob.glob(dcm_file_path + 'RTSTRUCT_*.dcm')[0]
-
- print(RT_filename)
-
- DICOM_RT = pydicom.dcmread(RT_filename)
- # DICOM_RT = pydicom.dcmread(dcm_file_path + 'AI_2.16.840.1.113669.2.931128.13525386.20221107152223.918302.dcm')
- # print(DICOM_RT)
-
- AI_DICOM_RT = ImagetoRT(spacingDatabase, DICOMInformation, DICOM_RT, Organ)()
-
-
-
- # 特殊格式
- ISOTIMEFORMAT = '%Y%m%d'
- date=datetime.date.today().strftime(ISOTIMEFORMAT)
- AI_DICOM_RT.StructureSetLabel = 'MONAI_Pred' + date
- AI_DICOM_RT.file_meta.MediaStorageSOPInstanceUID = DICOM_RT.SOPInstanceUID + date
- #'1.2.246.352.71.4.753219990087.110632.2017032321550020201013.dcm'
- AI_DICOM_RT.SOPInstanceUID = DICOM_RT.SOPInstanceUID + date
- # AI_DICOM_RT.file_meta.ImplementationClassUID = '1.3.6.1.4.1.9590.100.1.3.100.9.4'
- # pydicom.dataset.validate_file_meta(AI_DICOM_RT.file_meta)
- RT_filename = RT_filename.replace('RS','RS_MONAI')
- # RT_filename = RT_filename.replace('RTSTRUCT','AI_RTSTRUCT')
- pydicom.filewriter.dcmwrite(RT_filename, AI_DICOM_RT, write_like_original=True)
-
- # AI_DICOM_RT.save_as('python_cust_uid.dcm')
- end = time.time()
- print("執行時間:%f 秒\n\n" % (end - start))
|