Browse Source

refactor examples/barplot.py

Fabian Peter Hammerle 5 years ago
parent
commit
0635281aa4
1 changed files with 10 additions and 11 deletions
  1. 10 11
      examples/barplot.py

+ 10 - 11
examples/barplot.py

@@ -4,26 +4,25 @@ from matplotlib import pyplot
 import pandas
 import seaborn
 
-from freesurfer_volume_reader.freesurfer import HippocampalSubfieldsVolumeFile
+from freesurfer_volume_reader import freesurfer
 
 
-def abbreviate_analysis_id(analysis_id):
-    return analysis_id.split('_')[0] if analysis_id else None
-
+def generate_freesurfer_mode_label(row):
+    mri_sequences = ['T1' if row['T1_input'] else None,
+                     row['analysis_id'].split('_')[0] if row['analysis_id'] else None]
+    return ' & '.join(filter(None, mri_sequences))
 
 def main():
     argparser = argparse.ArgumentParser()
     argparser.add_argument('--subject', required=True)
     argparser.add_argument('--subjects-dir', dest='subjects_dir_path', required=True)
     args = argparser.parse_args()
-    volume_frame = pandas.concat(f.read_volumes_dataframe() for f in
-                                 HippocampalSubfieldsVolumeFile.find(args.subjects_dir_path))
-    volume_frame = volume_frame[volume_frame['subject'] == args.subject]
+    volume_frame = pandas.concat(
+        f.read_volumes_dataframe() for f in
+        freesurfer.HippocampalSubfieldsVolumeFile.find(args.subjects_dir_path))
     volume_frame['subfield_segmentation_mode'] = volume_frame.apply(
-        lambda row: ' & '.join(filter(None, ('T1' if row['T1_input'] else None,
-                                             abbreviate_analysis_id(row['analysis_id'])))),
-        axis=1,
-    )
+        generate_freesurfer_mode_label, axis=1)
+    volume_frame = volume_frame[volume_frame['subject'] == args.subject]
     volume_frame.to_csv('hippocampal_subfield_volumes_{}.csv'.format(args.subject), index=False)
     volume_frame.drop(columns=['subject', 'T1_input', 'analysis_id'], inplace=True)
     print(volume_frame)