@@ -59,38 +59,35 @@ def random_split_dataset():
5959 with open (test_names_file , 'w' ) as f :
6060 f .writelines (lines [:1 ] + test_lines )
6161
62- def obtain_patient_names ():
63- """
64- extract the patient names from csv files
65- """
66- split_names = ['train' , 'valid' , 'test' ]
67- for split_name in split_names :
68- csv_file = 'config/data/image_{0:}.csv' .format (split_name )
69- if (not os .path .isfile (csv_file )):
70- continue
71- with open (csv_file , 'r' ) as f :
72- lines = f .readlines ()
73- data_lines = lines [1 :]
74- patient_names = []
75- for data_line in data_lines :
76- patient_name = data_line .split ('/' )[- 1 ]
77- patient_name = patient_name .split ('.' )[0 ]
78- print (patient_name )
79- patient_names .append (patient_name )
80- output_filename = 'config/data/image_{0:}_names.txt' .format (split_name )
81- with open (output_filename , 'w' ) as f :
82- for patient_name in patient_names :
83- f .write ('{0:}\n ' .format (patient_name ))
84-
62+ def get_evaluation_image_pairs (test_csv , gt_seg_csv ):
63+ with open (test_csv , 'r' ) as f :
64+ input_lines = f .readlines ()[1 :]
65+ output_lines = []
66+ for item in input_lines :
67+ gt_name = item .split (',' )[1 ]
68+ gt_name = gt_name .rstrip ()
69+ seg_name = gt_name .split ('/' )[- 1 ]
70+ output_lines .append ([gt_name , seg_name ])
71+ with open (gt_seg_csv , mode = 'w' ) as csv_file :
72+ csv_writer = csv .writer (csv_file , delimiter = ',' ,
73+ quotechar = '"' ,quoting = csv .QUOTE_MINIMAL )
74+ csv_writer .writerow (["ground_truth" , "segmentation" ])
75+ for item in output_lines :
76+ csv_writer .writerow (item )
77+
78+
8579if __name__ == "__main__" :
8680 # create cvs file for promise 2012
8781 fields = ['image' , 'label' ]
88- data_dir = 'data/promise12/preprocess'
82+ data_dir = '/home/disk2t/ data/prostate/ promise12/preprocess/train '
8983 output_file = 'config/data/image_all.csv'
9084 create_csv_file (data_dir , output_file , fields )
9185
9286 # split the data into training, validation and testing
9387 random_split_dataset ()
9488
95- #obtain image names the splitted dataset
96- obtain_patient_names ()
89+ # obtain ground truth and segmentation pairs for evaluation
90+ test_csv = "./config/data/image_test.csv"
91+ gt_seg_csv = "./config/data/image_test_gt_seg.csv"
92+ get_evaluation_image_pairs (test_csv , gt_seg_csv )
93+
0 commit comments