6
6
import pydicom
7
7
import yaml
8
8
from tensorflow .keras .models import load_model
9
- import Tools . data_IO as data_IO
9
+ from . tools import data_IO
10
10
import tensorflow as tf
11
- from Preprocessing import DICOM_preparation_functions as DPF
12
- from Preprocessing import NIFTI_preparation_functions as NPF
11
+ from . preprocessing import DICOM_preparation_functions as DPF
12
+ from . preprocessing import NIFTI_preparation_functions as NPF
13
13
import time
14
14
from arcana .core .data .row import DataRow
15
15
@@ -23,11 +23,11 @@ def download_from_xnat(row: DataRow) -> Path:
23
23
store = row .dataset .store
24
24
25
25
with store :
26
- xproject = store .login [row .dataset .id ]
26
+ xproject = store .login . projects [row .dataset .id ]
27
27
xsession = xproject .experiments [row .id ]
28
28
xsession .download_dir (str (download_dir ))
29
29
30
- return download_dir
30
+ return str ( download_dir )
31
31
32
32
33
33
@mark .task #---task #2----------------------------------------------
@@ -101,13 +101,13 @@ def is_odd(number):
101
101
NPF .rescale_image_intensity (nifti_slices_folder )
102
102
103
103
print ('Creating label file....' )
104
- NPF .create_label_file (nifti_slices_folder , images_4D_file )
104
+ label_file = NPF .create_label_file (nifti_slices_folder , images_4D_file )
105
105
106
106
elapsed_time = time .time () - start_time
107
107
108
108
print (elapsed_time )
109
109
110
- return label_file , structured_dcm_dir ,
110
+ return label_file , structured_dcm_dir
111
111
112
112
113
113
@mark .task #---task #3----------------------------------------------
@@ -186,13 +186,18 @@ def load_labels(label_file):
186
186
187
187
188
188
@mark .task #---task #4----------------------------------------------
189
+ @mark .annotate ({
190
+ "return" : {
191
+ "info_file" : Path
192
+ }
193
+ })
189
194
190
- def rename_on_xnat (out_file : str , download_dir : str , row : DataRow ) -> Path :
195
+ def rename_on_xnat (out_file : str , output_folder : Path , download_dir : str , row : DataRow ) -> Path :
191
196
192
197
store = row .dataset .store
193
198
194
199
with store :
195
- xproject = store .login [row .dataset .id ]
200
+ xproject = store .login . projects [row .dataset .id ]
196
201
xsession = xproject .experiments [row .id ]
197
202
198
203
# Rename "scan types" of sessions
@@ -204,7 +209,7 @@ def rename_on_xnat(out_file: str, download_dir: str, row: DataRow) -> Path:
204
209
prediction_file = cfg['post_processing']['prediction_file']
205
210
root_dicom_folder = cfg['preprocessing']['root_dicom_folder']
206
211
"""
207
-
212
+ info_file = os . path . join ( output_folder , 'info.txt' )
208
213
base_dir = os .path .dirname (os .path .normpath (download_dir ))
209
214
structured_dicom_folder = os .path .join (base_dir ,'DICOM_STRUCTURED' )
210
215
#root_out_folder = os.path.join(base_dir, 'DICOM_SORTED')
@@ -248,8 +253,15 @@ def rename_on_xnat(out_file: str, download_dir: str, row: DataRow) -> Path:
248
253
print (predicted_scan_type )
249
254
250
255
scan = xsession .scans [scan_id ]
256
+ #renaming scan type on xnat
251
257
scan .type = prediction_names [i_prediction ]
252
258
259
+ with open (info_file , 'w' ) as the_file :
260
+ out_elements = [scan_id , unpredicted_scan_type , predicted_scan_type ]
261
+ the_file .write ('\t ' .join (out_elements ) + '\n ' )
262
+
263
+ return info_file
264
+
253
265
254
266
@mark .task #----------------------------------------------------------
255
267
def cleanup (download_dir : str ):
0 commit comments