diff --git a/docs/outputs.rst b/docs/outputs.rst index 517a428ed..4f2d5d68b 100644 --- a/docs/outputs.rst +++ b/docs/outputs.rst @@ -546,7 +546,7 @@ An example report A two-stage masking procedure was applied, in which a liberal mask (including voxels with good data in at least the first echo) was used for optimal combination, T2*/S0 estimation, and denoising, while a more conservative mask (restricted to voxels with good data in at least the first three echoes) was used for the component classification procedure. Multi-echo data were then optimally combined using the T2* combination method \\citep{posse1999enhancement}. Next, components were manually classified as BOLD (TE-dependent), non-BOLD (TE-independent), or uncertain (low-variance). - This workflow used numpy \\citep{van2011numpy}, scipy \\citep{virtanen2020scipy}, pandas \\citep{mckinney2010data,reback2020pandas}, scikit-learn \\citep{pedregosa2011scikit}, nilearn, bokeh \\citep{bokehmanual}, matplotlib \\citep{Hunter:2007}, and nibabel \\citep{brett_matthew_2019_3233118}. + This workflow used numpy \\citep{van2011numpy}, scipy \\citep{virtanen2020scipy}, pandas \\citep{mckinney2010data,reback2020pandas}, scikit-learn \\citep{pedregosa2011scikit}, nilearn, bokeh \\citep{bokehmanual}, matplotlib \\citep{Hunter2007}, and nibabel \\citep{brett_matthew_2019_3233118}. This workflow also used the Dice similarity index \\citep{dice1945measures,sorensen1948method}. References diff --git a/pyproject.toml b/pyproject.toml index d2f19f7f3..f3dd8885c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,6 +28,8 @@ dependencies = [ "nilearn>=0.7", "numpy>=1.16", "pandas>=2.0", + "pybtex", + "pybtex-apa-style", "scikit-learn>=0.21", "scipy>=1.2.0", "threadpoolctl", @@ -48,6 +50,7 @@ doc = [ "sphinx-argparse", "sphinxcontrib-bibtex", ] + tests = [ "codecov", "coverage", diff --git a/tedana/bibtex.py b/tedana/bibtex.py index e7531f538..e045c129d 100644 --- a/tedana/bibtex.py +++ b/tedana/bibtex.py @@ -123,9 +123,9 @@ def find_citations(description): all_citations : :obj:`list` of :obj:`str` A list of all identifiers for citations. """ - paren_citations = re.findall(r"\\citep{([a-zA-Z0-9,/\.]+)}", description) - intext_citations = re.findall(r"\\cite{([a-zA-Z0-9,/\.]+)}", description) - inparen_citations = re.findall(r"\\citealt{([a-zA-Z0-9,/\.]+)}", description) + paren_citations = re.findall(r"\\citep{([a-zA-Z0-9,_/\.]+)}", description) + intext_citations = re.findall(r"\\cite{([a-zA-Z0-9,_/\.]+)}", description) + inparen_citations = re.findall(r"\\citealt{([a-zA-Z0-9,_/\.]+)}", description) all_citations = ",".join(paren_citations + intext_citations + inparen_citations) all_citations = all_citations.split(",") all_citations = sorted(list(set(all_citations))) diff --git a/tedana/reporting/data/html/report_body_template.html b/tedana/reporting/data/html/report_body_template.html index cb3f17691..f01b17c86 100644 --- a/tedana/reporting/data/html/report_body_template.html +++ b/tedana/reporting/data/html/report_body_template.html @@ -24,6 +24,10 @@ width: 80%; } + .references ul { + line-height: 150%; + } + .carpet-wrapper { margin-top: 30px; } @@ -177,9 +181,12 @@

Info

About tedana

$about - +
+

References

- $references +
diff --git a/tedana/reporting/html_report.py b/tedana/reporting/html_report.py index bd3eb88ae..af65d14a7 100644 --- a/tedana/reporting/html_report.py +++ b/tedana/reporting/html_report.py @@ -1,6 +1,7 @@ """Build HTML reports for tedana.""" import logging import os +import re from os.path import join as opj from pathlib import Path from string import Template @@ -8,6 +9,8 @@ import pandas as pd from bokeh import __version__ as bokehversion from bokeh import embed, layouts, models +from pybtex.database.input import bibtex +from pybtex.plugin import find_plugin from tedana import __version__ from tedana.io import load_json @@ -16,6 +19,60 @@ LGR = logging.getLogger("GENERAL") +APA = find_plugin("pybtex.style.formatting", "apa")() +HTML = find_plugin("pybtex.backends", "html")() + + +def _bib2html(bibliography): + parser = bibtex.Parser() + bibliography = parser.parse_file(bibliography) + formatted_bib = APA.format_bibliography(bibliography) + bibliography_str = "".join(f"
  • {entry.text.render(HTML)}
  • " for entry in formatted_bib) + return bibliography_str, bibliography + + +def _cite2html(bibliography, citekey): + # Make a list of citekeys and separete double citations + citekey_list = citekey.split(",") if "," in citekey else [citekey] + + for idx, key in enumerate(citekey_list): + # Get first author + first_author = bibliography.entries[key].persons["author"][0] + + # Keep surname only (whatever is before the comma, if there is a comma) + if "," in str(first_author): + first_author = str(first_author).split(",")[0] + + # Get publication year + pub_year = bibliography.entries[key].fields["year"] + + # Return complete citation + if idx == 0: + citation = f"{first_author} et al. {pub_year}" + else: + citation += f", {first_author} et al. {pub_year}" + + return citation + + +def _inline_citations(text, bibliography): + # Find all \citep + matches = re.finditer(r"\\citep{(.*?)}", text) + citations = [(match.start(), match.group(1)) for match in matches] + + updated_text = text + + for citation in citations: + citekey = citation[1] + matched_string = "\\citep{" + citekey + "}" + + # Convert citation form latex to html + html_citation = f"({_cite2html(bibliography, citekey)})" + updated_text = updated_text.replace(matched_string, html_citation, 1) + + return updated_text + + def _generate_buttons(out_dir, io_generator): resource_path = Path(__file__).resolve().parent.joinpath("data", "html") @@ -85,6 +142,12 @@ def _update_template_bokeh(bokeh_id, info_table, about, prefix, references, boke # Initial carpet plot (default one) initial_carpet = f"./figures/{prefix}carpet_optcom.svg" + # Convert bibtex to html + references, bibliography = _bib2html(references) + + # Update inline citations + about = _inline_citations(about, bibliography) + body_template_name = "report_body_template.html" body_template_path = resource_path.joinpath(body_template_name) with open(str(body_template_path)) as body_file: @@ -273,8 +336,7 @@ def get_elbow_val(elbow_prefix): with open(opj(io_generator.out_dir, f"{io_generator.prefix}report.txt"), "r+") as f: about = f.read() - with open(opj(io_generator.out_dir, f"{io_generator.prefix}references.bib")) as f: - references = f.read() + references = opj(io_generator.out_dir, f"{io_generator.prefix}references.bib") # Read info table data_descr_path = io_generator.get_name("data description json") diff --git a/tedana/resources/references.bib b/tedana/resources/references.bib index 006f2f779..5cf4ce936 100644 --- a/tedana/resources/references.bib +++ b/tedana/resources/references.bib @@ -1,315 +1,315 @@ -@article{dupre2021te, - title={TE-dependent analysis of multi-echo fMRI with* tedana}, - author={DuPre, Elizabeth and Salo, Taylor and Ahmed, Zaki and Bandettini, Peter A and Bottenhorn, Katherine L and Caballero-Gaudes, C{\'e}sar and Dowdle, Logan T and Gonzalez-Castillo, Javier and Heunis, Stephan and Kundu, Prantik and others}, - journal={Journal of Open Source Software}, - volume={6}, - number={66}, - pages={3669}, - year={2021}, - url={https://doi.org/10.21105/joss.03669}, - doi={10.21105/joss.03669} +@article{sorensen1948method, + author = {Sorensen, Th A}, + journal = {Biol. Skar.}, + pages = {1--34}, + title = {A method of establishing groups of equal amplitude in plant sociology based on similarity of species content and its application to analyses of the vegetation on Danish commons}, + volume = {5}, + year = {1948} } -@article{kundu2012differentiating, - title={Differentiating BOLD and non-BOLD signals in fMRI time series using multi-echo EPI}, - author={Kundu, Prantik and Inati, Souheil J and Evans, Jennifer W and Luh, Wen-Ming and Bandettini, Peter A}, - journal={Neuroimage}, - volume={60}, - number={3}, - pages={1759--1770}, - year={2012}, - publisher={Elsevier}, - url={https://doi.org/10.1016/j.neuroimage.2011.12.028}, - doi={10.1016/j.neuroimage.2011.12.028} +@article{hughett2008accurate, + author = {Hughett, Paul}, + doi = {10.18637/jss.v023.c01}, + journal = {Journal of Statistical Software}, + pages = {1--5}, + title = {Accurate computation of the F-to-z and t-to-z transforms for large arguments}, + url = {https://doi.org/10.18637/jss.v023.c01}, + volume = {23}, + year = {2008} } -@article{kundu2013integrated, - title={Integrated strategy for improving functional connectivity mapping using multiecho fMRI}, - author={Kundu, Prantik and Brenowitz, Noah D and Voon, Valerie and Worbe, Yulia and V{\'e}rtes, Petra E and Inati, Souheil J and Saad, Ziad S and Bandettini, Peter A and Bullmore, Edward T}, - journal={Proceedings of the National Academy of Sciences}, - volume={110}, - number={40}, - pages={16187--16192}, - year={2013}, - publisher={National Acad Sciences}, - url={https://doi.org/10.1073/pnas.1301725110}, - doi={10.1073/pnas.1301725110} +@manual{bokehmanual, + author = {Bokeh Development Team}, + title = {Bokeh: Python library for interactive visualization}, + url = {https://bokeh.pydata.org/en/latest/}, + year = {2018} } -@software{the_tedana_community_2022_6461353, - author = {The tedana Community and - Ahmed, Zaki and - Bandettini, Peter A. and - Bottenhorn, Katherine L. and - Caballero-Gaudes, César and - Dowdle, Logan T. and - DuPre, Elizabeth and - Gonzalez-Castillo, Javier and - Handwerker, Dan and - Heunis, Stephan and - Kundu, Prantik and - Laird, Angela R. and - Markello, Ross and - Markiewicz, Christopher J. and - Maullin-Sapey, Thomas and - Moia, Stefano and - Salo, Taylor and - Staden, Isla and - Teves, Joshua and - Uruñuela, Eneko and - Vaziri-Pashkam, Maryam and - Whitaker, Kirstie}, - title = {ME-ICA/tedana: 0.0.12}, - month = apr, - year = 2022, - publisher = {Zenodo}, - version = {0.0.12}, - doi = {10.5281/zenodo.6461353}, - url = {https://doi.org/10.5281/zenodo.6461353} +@article{poser2006bold, + author = {Poser, Benedikt A and Versluis, Maarten J and Hoogduin, Johannes M and Norris, David G}, + doi = {10.1002/mrm.20900}, + journal = {Magnetic Resonance in Medicine: An Official Journal of the International Society for Magnetic Resonance in Medicine}, + number = {6}, + pages = {1227--1235}, + publisher = {Wiley Online Library}, + title = {BOLD contrast sensitivity enhancement and artifact reduction with multiecho EPI: parallel-acquired inhomogeneity-desensitized fMRI}, + url = {https://doi.org/10.1002/mrm.20900}, + volume = {55}, + year = {2006} } -@article{posse1999enhancement, - title={Enhancement of BOLD-contrast sensitivity by single-shot multi-echo functional MR imaging}, - author={Posse, Stefan and Wiese, Stefan and Gembris, Daniel and Mathiak, Klaus and Kessler, Christoph and Grosse-Ruyken, Maria-Liisa and Elghahwagi, Barbara and Richards, Todd and Dager, Stephen R and Kiselev, Valerij G}, - journal={Magnetic Resonance in Medicine: An Official Journal of the International Society for Magnetic Resonance in Medicine}, - volume={42}, - number={1}, - pages={87--97}, - year={1999}, - publisher={Wiley Online Library}, - url={https://doi.org/10.1002/(SICI)1522-2594(199907)42:1<87::AID-MRM13>3.0.CO;2-O}, - doi={10.1002/(SICI)1522-2594(199907)42:1<87::AID-MRM13>3.0.CO;2-O} +@inproceedings{mckinney2010data, + author = {McKinney, Wes and others}, + booktitle = {Proceedings of the 9th Python in Science Conference}, + doi = {10.25080/Majora-92bf1922-00a}, + number = {1}, + organization = {Austin, TX}, + pages = {51--56}, + title = {Data structures for statistical computing in python}, + url = {https://doi.org/10.25080/Majora-92bf1922-00a}, + volume = {445}, + year = {2010} } -@article{poser2006bold, - title={BOLD contrast sensitivity enhancement and artifact reduction with multiecho EPI: parallel-acquired inhomogeneity-desensitized fMRI}, - author={Poser, Benedikt A and Versluis, Maarten J and Hoogduin, Johannes M and Norris, David G}, - journal={Magnetic Resonance in Medicine: An Official Journal of the International Society for Magnetic Resonance in Medicine}, - volume={55}, - number={6}, - pages={1227--1235}, - year={2006}, - publisher={Wiley Online Library}, - url={https://doi.org/10.1002/mrm.20900}, - doi={10.1002/mrm.20900} +@article{kundu2012differentiating, + author = {Kundu, Prantik and Inati, Souheil J and Evans, Jennifer W and Luh, Wen-Ming and Bandettini, Peter A}, + doi = {10.1016/j.neuroimage.2011.12.028}, + journal = {Neuroimage}, + number = {3}, + pages = {1759--1770}, + publisher = {Elsevier}, + title = {Differentiating BOLD and non-BOLD signals in fMRI time series using multi-echo EPI}, + url = {https://doi.org/10.1016/j.neuroimage.2011.12.028}, + volume = {60}, + year = {2012} } -@misc{sochat2015ttoz, - author = {Sochat, Vanessa}, - title = {TtoZ Original Release}, - month = oct, - year = 2015, - publisher = {Zenodo}, - doi = {10.5281/zenodo.32508}, - url = {https://doi.org/10.5281/zenodo.32508} +@article{posse1999enhancement, + author = {Posse, Stefan and Wiese, Stefan and Gembris, Daniel and Mathiak, Klaus and Kessler, Christoph and Grosse-Ruyken, Maria-Liisa and Elghahwagi, Barbara and Richards, Todd and Dager, Stephen R and Kiselev, Valerij G}, + doi = {10.1002/(SICI)1522-2594(199907)42:1<87::AID-MRM13>3.0.CO;2-O}, + journal = {Magnetic Resonance in Medicine: An Official Journal of the International Society for Magnetic Resonance in Medicine}, + number = {1}, + pages = {87--97}, + publisher = {Wiley Online Library}, + title = {Enhancement of BOLD-contrast sensitivity by single-shot multi-echo functional MR imaging}, + url = {https://doi.org/10.1002/(SICI)1522-2594(199907)42:1<87::AID-MRM13>3.0.CO;2-O}, + volume = {42}, + year = {1999} } -@article{hughett2008accurate, - title={Accurate computation of the F-to-z and t-to-z transforms for large arguments}, - author={Hughett, Paul}, - journal={Journal of Statistical Software}, - volume={23}, - pages={1--5}, - year={2008}, - url={https://doi.org/10.18637/jss.v023.c01}, - doi={10.18637/jss.v023.c01} +@article{li2007estimating, + author = {Li, Yi-Ou and Adal{\i}, T{\"u}lay and Calhoun, Vince D}, + doi = {10.1002/hbm.20359}, + journal = {Human brain mapping}, + number = {11}, + pages = {1251--1266}, + publisher = {Wiley Online Library}, + title = {Estimating the number of independent components for functional magnetic resonance imaging data}, + url = {https://doi.org/10.1002/hbm.20359}, + volume = {28}, + year = {2007} } -@article{li2007estimating, - title={Estimating the number of independent components for functional magnetic resonance imaging data}, - author={Li, Yi-Ou and Adal{\i}, T{\"u}lay and Calhoun, Vince D}, - journal={Human brain mapping}, - volume={28}, - number={11}, - pages={1251--1266}, - year={2007}, - publisher={Wiley Online Library}, - url={https://doi.org/10.1002/hbm.20359}, - doi={10.1002/hbm.20359} +@article{kundu2013integrated, + author = {Kundu, Prantik and Brenowitz, Noah D and Voon, Valerie and Worbe, Yulia and V{\'e}rtes, Petra E and Inati, Souheil J and Saad, Ziad S and Bandettini, Peter A and Bullmore, Edward T}, + doi = {10.1073/pnas.1301725110}, + journal = {Proceedings of the National Academy of Sciences}, + number = {40}, + pages = {16187--16192}, + publisher = {National Acad Sciences}, + title = {Integrated strategy for improving functional connectivity mapping using multiecho fMRI}, + url = {https://doi.org/10.1073/pnas.1301725110}, + volume = {110}, + year = {2013} } -@article{van2011numpy, - title={The NumPy array: a structure for efficient numerical computation}, - author={Van Der Walt, Stefan and Colbert, S Chris and Varoquaux, Gael}, - journal={Computing in science \& engineering}, - volume={13}, - number={2}, - pages={22--30}, - year={2011}, - publisher={IEEE}, - url={https://doi.org/10.1109/MCSE.2011.37}, - doi={10.1109/MCSE.2011.37} +@article{Hunter2007, + abstract = {Matplotlib is a 2D graphics package used for Python for + application development, interactive scripting, and publication-quality + image generation across user interfaces and operating systems.}, + author = {Hunter, J. D.}, + doi = {10.1109/MCSE.2007.55}, + journal = {Computing in Science \& Engineering}, + number = {3}, + pages = {90--95}, + publisher = {IEEE COMPUTER SOC}, + title = {Matplotlib: A 2D graphics environment}, + volume = {9}, + year = 2007 } -@article{virtanen2020scipy, - title={SciPy 1.0: fundamental algorithms for scientific computing in Python}, - author={Virtanen, Pauli and Gommers, Ralf and Oliphant, Travis E and Haberland, Matt and Reddy, Tyler and Cournapeau, David and Burovski, Evgeni and Peterson, Pearu and Weckesser, Warren and Bright, Jonathan and others}, - journal={Nature methods}, - volume={17}, - number={3}, - pages={261--272}, - year={2020}, - publisher={Nature Publishing Group}, - url={https://doi.org/10.1038/s41592-019-0686-2}, - doi={10.1038/s41592-019-0686-2} +@misc{the_tedana_community_2022_6461353, + author = {The tedana Community and + Ahmed, Zaki and + Bandettini, Peter A. and + Bottenhorn, Katherine L. and + Caballero-Gaudes, César and + Dowdle, Logan T. and + DuPre, Elizabeth and + Gonzalez-Castillo, Javier and + Handwerker, Dan and + Heunis, Stephan and + Kundu, Prantik and + Laird, Angela R. and + Markello, Ross and + Markiewicz, Christopher J. and + Maullin-Sapey, Thomas and + Moia, Stefano and + Salo, Taylor and + Staden, Isla and + Teves, Joshua and + Uruñuela, Eneko and + Vaziri-Pashkam, Maryam and + Whitaker, Kirstie}, + doi = {10.5281/zenodo.6461353}, + month = apr, + publisher = {Zenodo}, + title = {ME-ICA/tedana: 0.0.12}, + url = {https://doi.org/10.5281/zenodo.6461353}, + version = {0.0.12}, + year = 2022 } -@inproceedings{mckinney2010data, - title={Data structures for statistical computing in python}, - author={McKinney, Wes and others}, - booktitle={Proceedings of the 9th Python in Science Conference}, - volume={445}, - number={1}, - pages={51--56}, - year={2010}, - organization={Austin, TX}, - url={https://doi.org/10.25080/Majora-92bf1922-00a}, - doi={10.25080/Majora-92bf1922-00a} +@article{dice1945measures, + author = {Dice, Lee R}, + doi = {10.2307/1932409}, + journal = {Ecology}, + number = {3}, + pages = {297--302}, + publisher = {JSTOR}, + title = {Measures of the amount of ecologic association between species}, + url = {https://doi.org/10.2307/1932409}, + volume = {26}, + year = {1945} } -@article{pedregosa2011scikit, - title={Scikit-learn: Machine learning in Python}, - author={Pedregosa, Fabian and Varoquaux, Ga{\"e}l and Gramfort, Alexandre and Michel, Vincent and Thirion, Bertrand and Grisel, Olivier and Blondel, Mathieu and Prettenhofer, Peter and Weiss, Ron and Dubourg, Vincent and others}, - journal={the Journal of machine Learning research}, - volume={12}, - pages={2825--2830}, - year={2011}, - publisher={JMLR. org}, - url={http://jmlr.org/papers/v12/pedregosa11a.html} +@misc{brett_matthew_2019_3233118, + author = {Brett, Matthew and + Markiewicz, Christopher J. and + Hanke, Michael and + Côté, Marc-Alexandre and + Cipollini, Ben and + McCarthy, Paul and + Cheng, Christopher P. and + Halchenko, Yaroslav O. and + Cottaar, Michiel and + Ghosh, Satrajit and + Larson, Eric and + Wassermann, Demian and + Gerhard, Stephan and + Lee, Gregory R. and + Kastman, Erik and + Rokem, Ariel and + Madison, Cindee and + Morency, Félix C. and + Moloney, Brendan and + Burns, Christopher and + Millman, Jarrod and + Gramfort, Alexandre and + Leppäkangas, Jaakko and + Markello, Ross and + van den Bosch, Jasper J.F. and + Vincent, Robert D. and + Subramaniam, Krish and + Raamana, Pradeep Reddy and + Nichols, B. Nolan and + Baker, Eric M. and + Goncalves, Mathias and + Hayashi, Soichi and + Pinsard, Basile and + Haselgrove, Christian and + Hymers, Mark and + Koudoro, Serge and + Oosterhof, Nikolaas N. and + Amirbekian, Bago and + Nimmo-Smith, Ian and + Nguyen, Ly and + Reddigari, Samir and + St-Jean, Samuel and + Garyfallidis, Eleftherios and + Varoquaux, Gael and + Kaczmarzyk, Jakub and + Legarreta, Jon Haitz and + Hahn, Kevin S. and + Hinds, Oliver P. and + Fauber, Bennet and + Poline, Jean-Baptiste and + Stutters, Jon and + Jordan, Kesshi and + Cieslak, Matthew and + Moreno, Miguel Estevan and + Haenel, Valentin and + Schwartz, Yannick and + Thirion, Bertrand and + Papadopoulos Orfanos, Dimitri and + Pérez-García, Fernando and + Solovey, Igor and + Gonzalez, Ivan and + Lecher, Justin and + Leinweber, Katrin and + Raktivan, Konstantinos and + Fischer, Peter and + Gervais, Philippe and + Gadde, Syam and + Ballinger, Thomas and + Roos, Thomas and + Reddam, Venkateswara Reddy and + freec84}, + doi = {10.5281/zenodo.3233118}, + month = may, + publisher = {Zenodo}, + title = {nipy/nibabel: 2.4.1}, + url = {https://doi.org/10.5281/zenodo.3233118}, + version = {2.4.1}, + year = 2019 } -@software{brett_matthew_2019_3233118, - author = {Brett, Matthew and - Markiewicz, Christopher J. and - Hanke, Michael and - Côté, Marc-Alexandre and - Cipollini, Ben and - McCarthy, Paul and - Cheng, Christopher P. and - Halchenko, Yaroslav O. and - Cottaar, Michiel and - Ghosh, Satrajit and - Larson, Eric and - Wassermann, Demian and - Gerhard, Stephan and - Lee, Gregory R. and - Kastman, Erik and - Rokem, Ariel and - Madison, Cindee and - Morency, Félix C. and - Moloney, Brendan and - Burns, Christopher and - Millman, Jarrod and - Gramfort, Alexandre and - Leppäkangas, Jaakko and - Markello, Ross and - van den Bosch, Jasper J.F. and - Vincent, Robert D. and - Subramaniam, Krish and - Raamana, Pradeep Reddy and - Nichols, B. Nolan and - Baker, Eric M. and - Goncalves, Mathias and - Hayashi, Soichi and - Pinsard, Basile and - Haselgrove, Christian and - Hymers, Mark and - Koudoro, Serge and - Oosterhof, Nikolaas N. and - Amirbekian, Bago and - Nimmo-Smith, Ian and - Nguyen, Ly and - Reddigari, Samir and - St-Jean, Samuel and - Garyfallidis, Eleftherios and - Varoquaux, Gael and - Kaczmarzyk, Jakub and - Legarreta, Jon Haitz and - Hahn, Kevin S. and - Hinds, Oliver P. and - Fauber, Bennet and - Poline, Jean-Baptiste and - Stutters, Jon and - Jordan, Kesshi and - Cieslak, Matthew and - Moreno, Miguel Estevan and - Haenel, Valentin and - Schwartz, Yannick and - Thirion, Bertrand and - Papadopoulos Orfanos, Dimitri and - Pérez-García, Fernando and - Solovey, Igor and - Gonzalez, Ivan and - Lecher, Justin and - Leinweber, Katrin and - Raktivan, Konstantinos and - Fischer, Peter and - Gervais, Philippe and - Gadde, Syam and - Ballinger, Thomas and - Roos, Thomas and - Reddam, Venkateswara Reddy and - freec84}, - title = {nipy/nibabel: 2.4.1}, - month = may, - year = 2019, - publisher = {Zenodo}, - version = {2.4.1}, - doi = {10.5281/zenodo.3233118}, - url = {https://doi.org/10.5281/zenodo.3233118} +@misc{reback2020pandas, + author = {The pandas development team}, + doi = {10.5281/zenodo.3509134}, + month = feb, + publisher = {Zenodo}, + title = {pandas-dev/pandas: Pandas}, + url = {https://doi.org/10.5281/zenodo.3509134}, + version = {latest}, + year = 2020 } -@article{dice1945measures, - title={Measures of the amount of ecologic association between species}, - author={Dice, Lee R}, - journal={Ecology}, - volume={26}, - number={3}, - pages={297--302}, - year={1945}, - publisher={JSTOR}, - url={https://doi.org/10.2307/1932409}, - doi={10.2307/1932409} +@article{pedregosa2011scikit, + author = {Pedregosa, Fabian and Varoquaux, Ga{\"e}l and Gramfort, Alexandre and Michel, Vincent and Thirion, Bertrand and Grisel, Olivier and Blondel, Mathieu and Prettenhofer, Peter and Weiss, Ron and Dubourg, Vincent and others}, + journal = {the Journal of machine Learning research}, + pages = {2825--2830}, + publisher = {JMLR. org}, + title = {Scikit-learn: Machine learning in Python}, + url = {http://jmlr.org/papers/v12/pedregosa11a.html}, + volume = {12}, + year = {2011} } -@article{sorensen1948method, - title={A method of establishing groups of equal amplitude in plant sociology based on similarity of species content and its application to analyses of the vegetation on Danish commons}, - author={Sorensen, Th A}, - journal={Biol. Skar.}, - volume={5}, - pages={1--34}, - year={1948} +@article{virtanen2020scipy, + author = {Virtanen, Pauli and Gommers, Ralf and Oliphant, Travis E and Haberland, Matt and Reddy, Tyler and Cournapeau, David and Burovski, Evgeni and Peterson, Pearu and Weckesser, Warren and Bright, Jonathan and others}, + doi = {10.1038/s41592-019-0686-2}, + journal = {Nature methods}, + number = {3}, + pages = {261--272}, + publisher = {Nature Publishing Group}, + title = {SciPy 1.0: fundamental algorithms for scientific computing in Python}, + url = {https://doi.org/10.1038/s41592-019-0686-2}, + volume = {17}, + year = {2020} } -@software{reback2020pandas, - author = {The pandas development team}, - title = {pandas-dev/pandas: Pandas}, - month = feb, - year = 2020, - publisher = {Zenodo}, - version = {latest}, - doi = {10.5281/zenodo.3509134}, - url = {https://doi.org/10.5281/zenodo.3509134} +@article{dupre2021te, + author = {DuPre, Elizabeth and Salo, Taylor and Ahmed, Zaki and Bandettini, Peter A and Bottenhorn, Katherine L and Caballero-Gaudes, C{\'e}sar and Dowdle, Logan T and Gonzalez-Castillo, Javier and Heunis, Stephan and Kundu, Prantik and others}, + doi = {10.21105/joss.03669}, + journal = {Journal of Open Source Software}, + number = {66}, + pages = {3669}, + title = {TE-dependent analysis of multi-echo fMRI with* tedana}, + url = {https://doi.org/10.21105/joss.03669}, + volume = {6}, + year = {2021} } -@Manual{bokehmanual, - title = {Bokeh: Python library for interactive visualization}, - author = {{Bokeh Development Team}}, - year = {2018}, - url = {https://bokeh.pydata.org/en/latest/}, +@article{van2011numpy, + author = {Van Der Walt, Stefan and Colbert, S Chris and Varoquaux, Gael}, + doi = {10.1109/MCSE.2011.37}, + journal = {Computing in science \& engineering}, + number = {2}, + pages = {22--30}, + publisher = {IEEE}, + title = {The NumPy array: a structure for efficient numerical computation}, + url = {https://doi.org/10.1109/MCSE.2011.37}, + volume = {13}, + year = {2011} } -@Article{Hunter:2007, - Author = {Hunter, J. D.}, - Title = {Matplotlib: A 2D graphics environment}, - Journal = {Computing in Science \& Engineering}, - Volume = {9}, - Number = {3}, - Pages = {90--95}, - abstract = {Matplotlib is a 2D graphics package used for Python for - application development, interactive scripting, and publication-quality - image generation across user interfaces and operating systems.}, - publisher = {IEEE COMPUTER SOC}, - doi = {10.1109/MCSE.2007.55}, - year = 2007 +@misc{sochat2015ttoz, + author = {Sochat, Vanessa}, + doi = {10.5281/zenodo.32508}, + month = oct, + publisher = {Zenodo}, + title = {TtoZ Original Release}, + url = {https://doi.org/10.5281/zenodo.32508}, + year = 2015 } diff --git a/tedana/workflows/tedana.py b/tedana/workflows/tedana.py index a5b3575fb..561879768 100644 --- a/tedana/workflows/tedana.py +++ b/tedana/workflows/tedana.py @@ -855,7 +855,7 @@ def tedana_workflow( "This workflow used numpy \\citep{van2011numpy}, scipy \\citep{virtanen2020scipy}, " "pandas \\citep{mckinney2010data,reback2020pandas}, " "scikit-learn \\citep{pedregosa2011scikit}, " - "nilearn, bokeh \\citep{bokehmanual}, matplotlib \\citep{Hunter:2007}, " + "nilearn, bokeh \\citep{bokehmanual}, matplotlib \\citep{Hunter2007}, " "and nibabel \\citep{brett_matthew_2019_3233118}." )