Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions pypreprocess/nipype_preproc_spm_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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)
Expand Down
13 changes: 13 additions & 0 deletions pypreprocess/reporting/base_reporter.py
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand All @@ -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.
Expand Down
10 changes: 2 additions & 8 deletions pypreprocess/reporting/preproc_reporter.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
import shutil
import commands
import time
import json
import numpy as np
import pylab as pl
import nibabel
Expand All @@ -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
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<!-- author: d0hm4t06 3lv15 d0p91m4 -->

{{default done = 0}}
{{default preproc_undergone = None}}
{{default dataset_description = "NOT PROVIDED!"}}
{{default references = ["Russel A. Poldrack et al. <i>Handbook of Functional MRI Data Analysis</i>"]}}
{{default softwares = []}}
{{default conf_path = "."}}
{{default source_script_name = None}}
{{default source_code = None}}
Expand Down Expand Up @@ -48,15 +48,23 @@ <h2>Data pre-preprocessing</h2>
</div>
{{endif}}

<br/>References</b><br/>
<ul>
<br/><b>References</b><br/>
<ul>
{{for ref in references}}
<li>{{ref | html}}</li>
{{endfor}}
</ul>
<br clear="all"/>
</ul>

<br/><b>Software versions</b><br/>
<ul>
{{for soft in softwares}}
<li>{{soft | html}}</li>
{{endfor}}
</ul>
<hr/>

<br clear="all"/>

<script type="text/javascript">
{{py: import os; loader=os.path.basename(results.loader_filename);}}
$('#results').load("{{loader}}").fadeIn("slow");
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<!-- author: d0hm4t06 3lv15 d0p91m4 -->

{{default preproc_undergone = None}}
{{default references = ["Russel A. Poldrack et al. <i>Handbook of Functional MRI Data Analysis</i>"]}}
{{default report_html = "report.html"}}
{{default conf_path="."}}
{{default softwares = []}}

<html>
<head>
Expand All @@ -30,7 +30,15 @@ <h2>Data pre-preprocessing</h2>
<li>{{ref | html}}</li>
{{endfor}}
</ul>
<hr/>

<br/><b>Software versions</b><br/>
<ul>
{{for soft in softwares}}
<li>{{soft | html}}</li>
{{endfor}}
</ul>
<hr/>
<hr/>
{{endif}}

<script type="text/javascript">
Expand Down
10 changes: 10 additions & 0 deletions pypreprocess/reporting/tests/test_base_report.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
from nose.tools import assert_true
from pypreprocess.reporting.base_reporter import _get_software_versions


def test_get_software_versions():
reports_nipype = False
for software in _get_software_versions():
if "Nipype" in software:
reports_nipype = True
assert_true(reports_nipype)
6 changes: 4 additions & 2 deletions pypreprocess/subject_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@
commit_subject_thumnbail_to_parent_gallery,
ResultsGallery, Thumbnail, a, img, copy_web_conf_files,
ProgressReport, get_subject_report_html_template,
get_subject_report_preproc_html_template, copy_failed_png)
get_subject_report_preproc_html_template, copy_failed_png,
_get_software_versions)

from .reporting.preproc_reporter import (generate_tsdiffana_thumbnail,
generate_realignment_thumbnails,
Expand Down Expand Up @@ -588,7 +589,8 @@ def init_report(self, parent_results_gallery=None,
# html markup
preproc = get_subject_report_preproc_html_template(
results=self.results_gallery, start_time=time.ctime(),
preproc_undergone=preproc_undergone, subject_id=self.subject_id)
preproc_undergone=preproc_undergone, subject_id=self.subject_id,
softwares=_get_software_versions())
main_html = get_subject_report_html_template(
start_time=time.ctime(), subject_id=self.subject_id)
with open(self.report_preproc_filename, 'w') as fd:
Expand Down
1 change: 1 addition & 0 deletions pypreprocess/tests/test_subject_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
from ._test_utils import _make_sd
from pypreprocess.subject_data import SubjectData

# config
DATA_DIR = "test_tmp_data"
if not os.path.exists(DATA_DIR):
os.makedirs(DATA_DIR)
Expand Down