@@ -119,23 +119,24 @@ def generate_3d_renders(defaced_img, render_outdir):
119119 yaw , pitch , roll = rot [0 ], rot [1 ], rot [2 ]
120120 outfile = render_outdir .joinpath ('defaced_render_' + str (idx ) + '.png' )
121121 fsleyes_render_cmd = f"fsleyes render --scene 3d -rot { yaw } { pitch } { roll } --outfile { outfile } { defaced_img } -dr 20 250 -in spline -bf 0.3 -r 100 -ns 500"
122+ print (fsleyes_render_cmd )
122123 run_command (fsleyes_render_cmd )
123124
124125
125- def create_vqc_id_list ( vqc_dir ):
126- rel_paths_to_orig = [re .sub ('/orig.nii.gz' , '' , str (o .relative_to (vqc_dir ))) for o in vqc_dir .rglob ('orig.nii.gz' )]
127- with open (vqc_dir / 'vqcdeface_id_list .txt' , 'w' ) as f :
126+ def create_defacing_id_list ( qc_dir ):
127+ rel_paths_to_orig = [re .sub ('/orig.nii.gz' , '' , str (o .relative_to (qc_dir ))) for o in qc_dir .rglob ('orig.nii.gz' )]
128+ with open (qc_dir / 'defacing_id_list .txt' , 'w' ) as f :
128129 f .write ('\n ' .join (rel_paths_to_orig ))
129130
130131
131132def vqcdeface_prep (input_dir , defacing_output_dir ):
132- vqcdeface_dir = defacing_output_dir .parent / 'visualqc_prep ' / 'vqcdeface '
133+ defacing_qc_dir = defacing_output_dir .parent / 'QC_prep ' / 'defacing_QC '
133134 interested_files = [f for f in defacing_output_dir .rglob ('*.nii.gz' ) if
134135 'afni_intermediate_files' not in str (f ).split ('/' )]
135136 for defaced_img in interested_files :
136137 # please kill me now ughhh
137138 entities = defaced_img .name .split ('.' )[0 ].split ('_' )
138- vqcd_subj_dir = vqcdeface_dir / f"{ '/' .join (entities )} "
139+ vqcd_subj_dir = defacing_qc_dir / f"{ '/' .join (entities )} "
139140 vqcd_subj_dir .mkdir (parents = True , exist_ok = True )
140141
141142 defaced_link = vqcd_subj_dir / 'defaced.nii.gz'
@@ -146,9 +147,9 @@ def vqcdeface_prep(input_dir, defacing_output_dir):
146147 img_link = vqcd_subj_dir / 'orig.nii.gz'
147148 if not img_link .exists (): img_link .symlink_to (img )
148149
149- create_vqc_id_list ( vqcdeface_dir )
150+ create_defacing_id_list ( defacing_qc_dir )
150151
151- vqcdeface_cmd = f"vqcdeface -u { vqcdeface_dir } -i { vqcdeface_dir / 'vqcdeface_id_list .txt' } -m orig.nii.gz -d defaced.nii.gz -r defaced_render"
152+ vqcdeface_cmd = f"vqcdeface -u { defacing_qc_dir } -i { defacing_qc_dir / 'defacing_id_list .txt' } -m orig.nii.gz -d defaced.nii.gz -r defaced_render"
152153
153154 return vqcdeface_cmd
154155
@@ -189,13 +190,15 @@ def main():
189190 f .write ('\n ' .join (afni_refacer_failures )) # TODO Not very useful when running the pipeline in parallel
190191
191192 # reorganizing the directory with defaced images into BIDS tree
193+ print (f"Reorganizing the directory with defaced images into BIDS tree...\n " )
192194 reorganize_into_bids (input_dir , defacing_outputs , mapping_dict , no_clean )
193195
194196 # prep for visual inspection using visualqc deface
197+ print (f"Preparing for QC by visual inspection...\n " )
195198 vqcdeface_cmd = vqcdeface_prep (input_dir , defacing_outputs )
196- print (f"Run the following command to start a VisualQC Deface session:\n { vqcdeface_cmd } " )
197- with open (output / 'visualqc_prep ' / 'defacing_qc_cmd' , 'w' ) as f :
198- f .write (vqcdeface_cmd )
199+ print (f"Run the following command to start a VisualQC Deface session:\n \t { vqcdeface_cmd } \n " )
200+ with open (output / 'QC_prep ' / 'defacing_qc_cmd' , 'w' ) as f :
201+ f .write (vqcdeface_cmd + ' \n ' )
199202
200203
201204if __name__ == "__main__" :
0 commit comments