From 226b5e1805ae9697cf7e6cfd8ebd8b05fca1de3d Mon Sep 17 00:00:00 2001 From: DOHMATOB Elvis Date: Tue, 17 Jan 2017 15:46:10 +0100 Subject: [PATCH] ENH: reporting versions of software used in preproc --- pypreprocess/nipype_preproc_spm_utils.py | 8 +++++--- pypreprocess/reporting/base_reporter.py | 13 +++++++++++++ pypreprocess/reporting/preproc_reporter.py | 10 ++-------- .../dataset_report_preproc_template.tmpl.html | 18 +++++++++++++----- .../subject_report_preproc_template.tmpl.html | 12 ++++++++++-- .../reporting/tests/test_base_report.py | 10 ++++++++++ pypreprocess/subject_data.py | 6 ++++-- pypreprocess/tests/test_subject_data.py | 1 + 8 files changed, 58 insertions(+), 20 deletions(-) create mode 100644 pypreprocess/reporting/tests/test_base_report.py diff --git a/pypreprocess/nipype_preproc_spm_utils.py b/pypreprocess/nipype_preproc_spm_utils.py index f4d541d4..130a00fa 100644 --- a/pypreprocess/nipype_preproc_spm_utils.py +++ b/pypreprocess/nipype_preproc_spm_utils.py @@ -27,9 +27,10 @@ from subject_data import SubjectData from .reporting.base_reporter import ( ResultsGallery, ProgressReport, copy_web_conf_files, - get_module_source_code, dict_to_html_ul) + get_module_source_code, dict_to_html_ul, _get_software_versions) from .reporting.preproc_reporter import ( - _set_templates, generate_preproc_undergone_docstring, + _set_templates, generate_preproc_undergone_docstring) +from .reporting.base_reporter import ( get_dataset_report_log_html_template, get_dataset_report_preproc_html_template, get_dataset_report_html_template) @@ -1659,7 +1660,8 @@ def do_subjects_preproc(subject_factory, session_ids=None, **preproc_params): results=parent_results_gallery, start_time=time.ctime(), dataset_description=dataset_description, source_code=user_source_code, - source_script_name=user_script_name) + source_script_name=user_script_name, + softwares=_get_software_versions()) main_html = get_dataset_report_html_template( results=parent_results_gallery, start_time=time.ctime(), dataset_id=dataset_id) diff --git a/pypreprocess/reporting/base_reporter.py b/pypreprocess/reporting/base_reporter.py index 314f2245..3d7abfce 100644 --- a/pypreprocess/reporting/base_reporter.py +++ b/pypreprocess/reporting/base_reporter.py @@ -11,7 +11,9 @@ import matplotlib as mpl import pylab as pl import numpy as np +import nipype from ..external.tempita import HTMLTemplate, bunch +from ..configure_spm import _configure_spm, _get_version_spm # find package path ROOT_DIR = os.path.split(os.path.abspath(__file__))[0] @@ -28,6 +30,17 @@ NIPYPE_URL = "http://nipy.sourceforge.net/nipype/" NISTATS_URL = "https://github.com/nistats/nistats" + +def _get_software_versions(): + """ + Report versions of the different software used. + """ + spm_dir = _configure_spm() + return ["SPM: %s (found in %s)" % (_get_version_spm(spm_dir), + spm_dir), + "Nipype: %s" % nipype.__version__] + + def lines2breaks(lines, delimiter="\n", number_lines=False): """ Converts line breaks to HTML breaks, adding `pre` tags as necessary. diff --git a/pypreprocess/reporting/preproc_reporter.py b/pypreprocess/reporting/preproc_reporter.py index f7e8607a..61161936 100644 --- a/pypreprocess/reporting/preproc_reporter.py +++ b/pypreprocess/reporting/preproc_reporter.py @@ -11,7 +11,6 @@ import shutil import commands import time -import json import numpy as np import pylab as pl import nibabel @@ -25,17 +24,12 @@ from .base_reporter import (Thumbnail, ResultsGallery, ProgressReport, - a, - img, + a, img, lines2breaks, - get_dataset_report_html_template, - get_dataset_report_preproc_html_template, get_subject_report_html_template, get_subject_report_preproc_html_template, PYPREPROCESS_URL, DARTEL_URL, ROOT_DIR, - commit_subject_thumnbail_to_parent_gallery, - get_dataset_report_log_html_template, - copy_web_conf_files) + commit_subject_thumnbail_to_parent_gallery) # misc diff --git a/pypreprocess/reporting/template_reports/dataset_report_preproc_template.tmpl.html b/pypreprocess/reporting/template_reports/dataset_report_preproc_template.tmpl.html index 3f17a3f5..92dd1130 100755 --- a/pypreprocess/reporting/template_reports/dataset_report_preproc_template.tmpl.html +++ b/pypreprocess/reporting/template_reports/dataset_report_preproc_template.tmpl.html @@ -1,9 +1,9 @@ - {{default done = 0}} {{default preproc_undergone = None}} {{default dataset_description = "NOT PROVIDED!"}} {{default references = ["Russel A. Poldrack et al. Handbook of Functional MRI Data Analysis"]}} +{{default softwares = []}} {{default conf_path = "."}} {{default source_script_name = None}} {{default source_code = None}} @@ -48,15 +48,23 @@

Data pre-preprocessing

{{endif}} -
References
- + +
Software versions
+
+
+