|
@@ -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)
|