rapidtide


Namerapidtide JSON
Version 2.9.9.5 PyPI version JSON
download
home_pagehttps://github.com/bbfrederick/rapidtide
SummaryTools for performing correlation analysis on fMRI data.
upload_time2024-11-15 17:13:32
maintainerNone
docs_urlNone
authorTaylor Salo, Daniel M. Drucker, Ph.D., Jeffrey N Stout
requires_python>=3.9
licenseApache Software License
keywords fmri correlation riptide noise
VCS
bugtrack_url
requirements absl-py alabaster astunparse babel certifi charset-normalizer contourpy cycler docutils flatbuffers fonttools gast google-pasta grpcio h5py idna imageio imagesize jinja2 joblib keras kiwisolver latexcodec lazy-loader libclang lxml markdown markdown-it-py markupsafe matplotlib mdit-py-plugins mdurl ml-dtypes myst-parser namex networkx nibabel nilearn numpy numpydoc opt-einsum optree packaging pandas patsy pillow protobuf pyarrow pybtex pybtex-docutils pygments pyparsing pyqt5-sip pyqtgraph python-dateutil pytz pywavelets pyyaml requests rich scikit-image scikit-learn scipy six snowballstemmer sphinx sphinx-argparse sphinx-gallery sphinx-rtd-theme sphinxcontrib-applehelp sphinxcontrib-bibtex sphinxcontrib-devhelp sphinxcontrib-htmlhelp sphinxcontrib-jquery sphinxcontrib-jsmath sphinxcontrib-qthelp sphinxcontrib-serializinghtml statsmodels tabulate tensorboard tensorboard-data-server tensorflow termcolor tf-keras threadpoolctl tifffile tomlkit tqdm typing-extensions tzdata urllib3 werkzeug wheel wrapt
Travis-CI No Travis.
coveralls test coverage No coveralls.
            The rapidtide package
=====================

Rapidtide is a suite of Python programs used to model, characterize, 
visualize, and remove time varying, physiological blood signals from fMRI and fNIRS 
datasets.  The primary workhorses of the package are the rapidtide program, 
which characterizes bulk blood flow, and happy, which focusses on the cardiac
band.

Full documentation is at: http://rapidtide.readthedocs.io/en/latest/

|PyPi Latest Version| |PyPi - Python Versions| |License| |Documentation Status| |CircleCI| |Coverage| |DOI| |Funded by NIH|

The rapidtide program
---------------------

Rapidtide is also the name of the first program in the package, which is
used to perform rapid time delay
analysis on functional imaging data to find time lagged correlations
between the voxelwise time series and other time series, primarily in the LFO
band.


Why do I want to know about time lagged correlations?
`````````````````````````````````````````````````````

This comes out of work by our group (The Opto-Magnetic group at McLean
Hospital - http://www.nirs-fmri.net) looking at the correlations between
neuroimaging data (fMRI) and NIRS data recorded simultaneously, either
in the brain or the periphery. We found that a large fraction of the
\"noise\" we found at low frequency in fMRI data was due to real,
random[*] fluctuations of blood oxygenation and volume (both of which
affect the intensity of BOLD fMRI images) in the blood passing through
the brain. More interestingly, because these characteristics of blood
move with the blood itself, this gives you a way to determine blood
arrival time at any location in the brain. This is interesting in and of
itself, but also, this gives you a method for optimally modelling (and
removing) in band physiological noise from fMRI data (see references
below).

After working with this for several years we\'ve also found that you
don\'t need to used simultaneous NIRS to find this blood borne signal -
you can get it from blood rich BOLD voxels for example in the superior
sagittal sinus, or bootstrap it out of the global mean signal in the
BOLD data. You can also track exogenously applied waveforms, such as
hypercarbic and/or hyperoxic gas challenges to really boost your signal
to noise. So there are lots of times when you might want to do this type
of correlation analysis.

As an aside, some of these tools are just generally useful for looking
at correlations between timecourses from other sources – for example
doing PPI, or even some seed based analyses.

[*] \"random\" in this context means \"determined by something we don\'t
have any information about\" - maybe EtCO2 variation, or sympathetic
nervous system activity - so not really random.

Correlation analysis is easy - why use this package?
````````````````````````````````````````````````````

The simple answer is \"correlation analysis is easy, but using a
prewritten package that handles file I/O, filtering, resampling,
windowing, and the rest for you is even easier\". A slightly more complex
answer is that while correlation analysis is pretty easy to do, it\'s
hard to do right; there are lots and lots of ways to do it incorrectly.
Fortunately, I\'ve made most of those mistakes for you over the last 8
years, and corrected my code accordingly. So rather than repeat my
boring mistakes, why not make new, interesting mistakes? Explore your
own, unique chunk of wrongspace…


Happy
-----

More recently, inspired by Henning Voss\' paper on hypersampling of
cardiac signals in fMRI, we developed a method to extract and clean
cardiac waveforms from fMRI data, even when the fMRI TR is far too long
to properly sample cardiac waveforms. This cardiac waveform can then be
to track the pulsatile cardiac pressure wave through the brain in
somewhat the same way that we track the LFO signals. Among other things,
this allows you to get cardiac waveforms during scans even when either
1) you didn\'t use a plethysmograph, or 2) you did, but the recording was
of poor quality, which happens more than you might think.

What does \"happy\" have to do with any of this?
````````````````````````````````````````````````

As to why happy is part of rapidtide, that\'s partially for practical reasons (the
libraries in rapidtide have an awful lot of code that is reused in happy), and
partially thematically - rapidtide has evolved from a \"let\'s look at low
frequency signals in fMRI data\" package to a \"let\'s look at everything in
fMRI data EXCEPT neuronal activation\", so happy fits right in.


Why are you releasing this package?
===================================

For a number of reasons.

-  I want people to use it! I think if it were easier for people to do
   time delay analysis, they\'d be more likely to do it. I don\'t have
   enough time or people in my group to do every experiment that I think
   would be interesting, so I\'m hoping other people will, so I can read
   their papers and learn interesting things.
-  It\'s the right way to do science – I can say lots of things, but if
   nobody can replicate my results, nobody will believe it (we\'ve gotten
   that a lot, because some of the implications of what we\'ve seen in
   resting state data can be a little uncomfortable). We\'ve reached a
   stage in fMRI where getting from data to results involves a huge
   amount of processing, so part of confirming results involves being
   able to see how the data were processed. If you had to do everything
   from scratch, you\'d never even try to confirm anybody\'s results.
-  In any complicated processing scheme, it\'s quite possible (or in my
   case, likely) to make dumb mistakes, either coding errors or
   conceptual errors, and I almost certainly have made some (although
   hopefully the worst ones have been dealt with at this point). More
   users and more eyes on the code make it more likely that they will be
   found. As much as I\'m queasy about somebody potentially finding a
   mistake in my code, I\'d rather that they did so, so I can fix it[‡].
-  It\'s giving back to the community. I benefit from the generosity of a
   lot of authors who have made the open source tools I use for work and
   play, so I figure I can pony up too.

[‡] or better yet, you, empowered user, can fix it, and push back a fix
that benefits everybody…

Stability, etc.
===============
This is an evolving code base. I\'m constantly tinkering with it. That
said, now that I\'ve sent this off into to the world, I\'m being somewhat
more responsible about locking down stable release points. In between
releases, however, I\'ll be messing with things, although for the most
part this will be restricted to the dev branch.
**It\'s very possible that at any given time the dev branch will be very broken,
so stay away from it unless you have a good reason to be using it.**
I\'ve finally become a little more modern and started
adding automated testing, so as time goes by hopefully the \"in between\"
releases will be somewhat more reliable.  That said, my tests routinely fail, even
when things actually work.  Probably should deal with that. Check back often for exciting
new features and bug fixes!

Python version compatibility
============================
I switched over a while ago to using Python 3 as my daily driver, so I know
that everything works there. However, I know that a lot of people can\'t
or won\'t switch from Python 2x, so I kept Python 2.7 compatibility for
quite some time.

That said, the writing is on the wall, and since I depend on a number of
packages that have dropped Python 2.x support, as of 2.0, so has rapidtide. However,
as of version 1.9.0 I\'m also releasing the code in a docker
container (fredericklab/rapidtide), which has everything nicely installed in
a fully configured Python 3 environment, so there\'s really no need for me continue 2.x
support.  So now it's f-strings all the way, kids!

Ok, I\'m sold. What\'s in here?
===============================

-  **rapidtide** - This is the heart of the package - this is the
   workhorse program that will determine the time lagged correlations
   between all the voxels in a NIFTI file and a temporal \"probe\"
   regressor (which can come from a number of places, including the data
   itself) - it rapidly determines time delays… There are a truly
   bewildering array of options, and just about everything can be
   adjusted, however I\'ve tried to pick a good set of default options
   for the most basic processing to get you going. At a minimum, it
   requires a 4D NIFTI file as input, and a root name for all of the
   output files. It generates a number of 3D NIFTI file maps of various
   parameters (lag time of maximum correlation, maximum correlation
   value, a mask of which voxels have valid fits, etc.) and some text
   files with useful information (significance thresholds, processing
   timing information, a list of values of configurable options).

-  **happy** - This is a companion to rapidtide that focusses on cardiac signals.
   happy does three things - it attempts to determine the cardiac
   waveform over the time course of an fMRI dataset using slice
   selective averaging of fully unprocessed fMRI data. It also 
   cleans up this initial estimate using a deep learning filter to
   infer what the simultaneously recorded plethysmogram would be.
   Finally, it uses either the derived or a supplied plethysmogram
   signal to construct a cardiac pulsation map over a single
   cycle of the cardiac waveform, a la Voss.

-  **showxcorrx** - Like rapidtide, but for single time courses. Takes
   two text files as input, calculates and displays the time lagged
   cross correlation between them, fits the maximum time lag, and
   estimates the significance of the correlation. It has a range of
   filtering, windowing, and correlation options.

-  **rapidtide2x_legacy**, **happy_legacy**, **showxcorr_legacy** - The
   older versions of the similarly named programs.  These use the old calling
   conventions, for compatibility with older workflows.  These will go away
   eventually, and they don't really get updates or bugfixes, so if you're
   using them, change to the new ones, and if you're not using them, don't.

-  **rapidtide2std** - This is a utility for registering rapidtide
   output maps to standard coordinates. It\'s usually much faster to run
   rapidtide in native space then transform afterwards to MNI152 space.
   NB: this will only work if you have a working FSL installation.

-  **happy2std** - Guess.

-  **showtc** - A very simple command line utility that takes timecourses from text
   files and plots the data in it in a matplotlib window. That\'s it. A
   good tool for quickly seeing what\'s in a file. Has a number of options to
   make the plot prettier.

-  **showxy** - Another simple command line utility that displays the
   the data contained in text files containing whitespace separated x-y pairs.

-  **showhist** - Another simple command line utility that displays the
   histograms generated by rapidtide.

-  **resamp1tc** - takes an input text file at some sample rate and
   outputs a text file resampled to the specified sample rate.

-  **resamplenifti** - takes an input nifti file at some TR and outputs
   a nifti file resampled to the specified TR.

-  **tidepool** - This is a GUI tool for displaying all of
   the various maps and timecourses generated by rapidtide in one place, overlaid on
   an anatomic image. This makes it a bit easier to see how all the maps
   are related to one another, how the probe regressor evolves over the run, and the
   effect of the filtering parameters. To use it, launch tidepool from the
   command line, and then select a lag time map - tidepool will figure
   out the root name and pull in all of the other associated data. Works
   in native or standard space.


Financial Support
=================

This code base is being developed and supported by grants from the US
NIH (`1R01 NS097512 <http://grantome.com/grant/NIH/R01-NS097512-02>`__, RF1 MH130637-01)


.. |PyPi Latest Version| image:: https://img.shields.io/pypi/v/rapidtide.svg
   :target: https://pypi.python.org/pypi/rapidtide/
.. |PyPi - Python Versions| image:: https://img.shields.io/pypi/pyversions/rapidtide.svg
   :target: https://pypi.python.org/pypi/rapidtide/
.. |License| image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg
   :target: https://opensource.org/licenses/Apache-2.0
.. |Documentation Status| image:: https://readthedocs.org/projects/rapidtide/badge/?version=stable
   :target: http://rapidtide.readthedocs.io/en/stable/?badge=stable
.. |CircleCI| image:: https://circleci.com/gh/bbfrederick/rapidtide.svg?branch=main&style=shield
   :target: https://circleci.com/gh/bbfrederick/rapidtide
.. |Coverage| image:: https://codecov.io/gh/bbfrederick/rapidtide/branch/main/graph/badge.svg
   :target: https://codecov.io/gh/bbfrederick/rapidtide
.. |DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.814990.svg
   :target: https://doi.org/10.5281/zenodo.814990
.. |Funded by NIH| image:: https://img.shields.io/badge/NIH-RF1--MH130637--01-yellowgreen.svg
   :target: https://reporter.nih.gov/project-details/10509534

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/bbfrederick/rapidtide",
    "name": "rapidtide",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "fMRI, correlation, RIPTiDe, noise",
    "author": "Taylor Salo, Daniel M. Drucker, Ph.D., Jeffrey N Stout",
    "author_email": "Blaise deB Frederick <blaise.frederick@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/96/ee/cb4ac58e1c0e81667c923290ae149ee34beb905b4b1bfd955ae2a86d2f1a/rapidtide-2.9.9.5.tar.gz",
    "platform": null,
    "description": "The rapidtide package\n=====================\n\nRapidtide is a suite of Python programs used to model, characterize, \nvisualize, and remove time varying, physiological blood signals from fMRI and fNIRS \ndatasets.  The primary workhorses of the package are the rapidtide program, \nwhich characterizes bulk blood flow, and happy, which focusses on the cardiac\nband.\n\nFull documentation is at: http://rapidtide.readthedocs.io/en/latest/\n\n|PyPi Latest Version| |PyPi - Python Versions| |License| |Documentation Status| |CircleCI| |Coverage| |DOI| |Funded by NIH|\n\nThe rapidtide program\n---------------------\n\nRapidtide is also the name of the first program in the package, which is\nused to perform rapid time delay\nanalysis on functional imaging data to find time lagged correlations\nbetween the voxelwise time series and other time series, primarily in the LFO\nband.\n\n\nWhy do I want to know about time lagged correlations?\n`````````````````````````````````````````````````````\n\nThis comes out of work by our group (The Opto-Magnetic group at McLean\nHospital - http://www.nirs-fmri.net) looking at the correlations between\nneuroimaging data (fMRI) and NIRS data recorded simultaneously, either\nin the brain or the periphery. We found that a large fraction of the\n\\\"noise\\\" we found at low frequency in fMRI data was due to real,\nrandom[*] fluctuations of blood oxygenation and volume (both of which\naffect the intensity of BOLD fMRI images) in the blood passing through\nthe brain. More interestingly, because these characteristics of blood\nmove with the blood itself, this gives you a way to determine blood\narrival time at any location in the brain. This is interesting in and of\nitself, but also, this gives you a method for optimally modelling (and\nremoving) in band physiological noise from fMRI data (see references\nbelow).\n\nAfter working with this for several years we\\'ve also found that you\ndon\\'t need to used simultaneous NIRS to find this blood borne signal -\nyou can get it from blood rich BOLD voxels for example in the superior\nsagittal sinus, or bootstrap it out of the global mean signal in the\nBOLD data. You can also track exogenously applied waveforms, such as\nhypercarbic and/or hyperoxic gas challenges to really boost your signal\nto noise. So there are lots of times when you might want to do this type\nof correlation analysis.\n\nAs an aside, some of these tools are just generally useful for looking\nat correlations between timecourses from other sources \u2013 for example\ndoing PPI, or even some seed based analyses.\n\n[*] \\\"random\\\" in this context means \\\"determined by something we don\\'t\nhave any information about\\\" - maybe EtCO2 variation, or sympathetic\nnervous system activity - so not really random.\n\nCorrelation analysis is easy - why use this package?\n````````````````````````````````````````````````````\n\nThe simple answer is \\\"correlation analysis is easy, but using a\nprewritten package that handles file I/O, filtering, resampling,\nwindowing, and the rest for you is even easier\\\". A slightly more complex\nanswer is that while correlation analysis is pretty easy to do, it\\'s\nhard to do right; there are lots and lots of ways to do it incorrectly.\nFortunately, I\\'ve made most of those mistakes for you over the last 8\nyears, and corrected my code accordingly. So rather than repeat my\nboring mistakes, why not make new, interesting mistakes? Explore your\nown, unique chunk of wrongspace\u2026\n\n\nHappy\n-----\n\nMore recently, inspired by Henning Voss\\' paper on hypersampling of\ncardiac signals in fMRI, we developed a method to extract and clean\ncardiac waveforms from fMRI data, even when the fMRI TR is far too long\nto properly sample cardiac waveforms. This cardiac waveform can then be\nto track the pulsatile cardiac pressure wave through the brain in\nsomewhat the same way that we track the LFO signals. Among other things,\nthis allows you to get cardiac waveforms during scans even when either\n1) you didn\\'t use a plethysmograph, or 2) you did, but the recording was\nof poor quality, which happens more than you might think.\n\nWhat does \\\"happy\\\" have to do with any of this?\n````````````````````````````````````````````````\n\nAs to why happy is part of rapidtide, that\\'s partially for practical reasons (the\nlibraries in rapidtide have an awful lot of code that is reused in happy), and\npartially thematically - rapidtide has evolved from a \\\"let\\'s look at low\nfrequency signals in fMRI data\\\" package to a \\\"let\\'s look at everything in\nfMRI data EXCEPT neuronal activation\\\", so happy fits right in.\n\n\nWhy are you releasing this package?\n===================================\n\nFor a number of reasons.\n\n-  I want people to use it! I think if it were easier for people to do\n   time delay analysis, they\\'d be more likely to do it. I don\\'t have\n   enough time or people in my group to do every experiment that I think\n   would be interesting, so I\\'m hoping other people will, so I can read\n   their papers and learn interesting things.\n-  It\\'s the right way to do science \u2013 I can say lots of things, but if\n   nobody can replicate my results, nobody will believe it (we\\'ve gotten\n   that a lot, because some of the implications of what we\\'ve seen in\n   resting state data can be a little uncomfortable). We\\'ve reached a\n   stage in fMRI where getting from data to results involves a huge\n   amount of processing, so part of confirming results involves being\n   able to see how the data were processed. If you had to do everything\n   from scratch, you\\'d never even try to confirm anybody\\'s results.\n-  In any complicated processing scheme, it\\'s quite possible (or in my\n   case, likely) to make dumb mistakes, either coding errors or\n   conceptual errors, and I almost certainly have made some (although\n   hopefully the worst ones have been dealt with at this point). More\n   users and more eyes on the code make it more likely that they will be\n   found. As much as I\\'m queasy about somebody potentially finding a\n   mistake in my code, I\\'d rather that they did so, so I can fix it[\u2021].\n-  It\\'s giving back to the community. I benefit from the generosity of a\n   lot of authors who have made the open source tools I use for work and\n   play, so I figure I can pony up too.\n\n[\u2021] or better yet, you, empowered user, can fix it, and push back a fix\nthat benefits everybody\u2026\n\nStability, etc.\n===============\nThis is an evolving code base. I\\'m constantly tinkering with it. That\nsaid, now that I\\'ve sent this off into to the world, I\\'m being somewhat\nmore responsible about locking down stable release points. In between\nreleases, however, I\\'ll be messing with things, although for the most\npart this will be restricted to the dev branch.\n**It\\'s very possible that at any given time the dev branch will be very broken,\nso stay away from it unless you have a good reason to be using it.**\nI\\'ve finally become a little more modern and started\nadding automated testing, so as time goes by hopefully the \\\"in between\\\"\nreleases will be somewhat more reliable.  That said, my tests routinely fail, even\nwhen things actually work.  Probably should deal with that. Check back often for exciting\nnew features and bug fixes!\n\nPython version compatibility\n============================\nI switched over a while ago to using Python 3 as my daily driver, so I know\nthat everything works there. However, I know that a lot of people can\\'t\nor won\\'t switch from Python 2x, so I kept Python 2.7 compatibility for\nquite some time.\n\nThat said, the writing is on the wall, and since I depend on a number of\npackages that have dropped Python 2.x support, as of 2.0, so has rapidtide. However,\nas of version 1.9.0 I\\'m also releasing the code in a docker\ncontainer (fredericklab/rapidtide), which has everything nicely installed in\na fully configured Python 3 environment, so there\\'s really no need for me continue 2.x\nsupport.  So now it's f-strings all the way, kids!\n\nOk, I\\'m sold. What\\'s in here?\n===============================\n\n-  **rapidtide** - This is the heart of the package - this is the\n   workhorse program that will determine the time lagged correlations\n   between all the voxels in a NIFTI file and a temporal \\\"probe\\\"\n   regressor (which can come from a number of places, including the data\n   itself) - it rapidly determines time delays\u2026 There are a truly\n   bewildering array of options, and just about everything can be\n   adjusted, however I\\'ve tried to pick a good set of default options\n   for the most basic processing to get you going. At a minimum, it\n   requires a 4D NIFTI file as input, and a root name for all of the\n   output files. It generates a number of 3D NIFTI file maps of various\n   parameters (lag time of maximum correlation, maximum correlation\n   value, a mask of which voxels have valid fits, etc.) and some text\n   files with useful information (significance thresholds, processing\n   timing information, a list of values of configurable options).\n\n-  **happy** - This is a companion to rapidtide that focusses on cardiac signals.\n   happy does three things - it attempts to determine the cardiac\n   waveform over the time course of an fMRI dataset using slice\n   selective averaging of fully unprocessed fMRI data. It also \n   cleans up this initial estimate using a deep learning filter to\n   infer what the simultaneously recorded plethysmogram would be.\n   Finally, it uses either the derived or a supplied plethysmogram\n   signal to construct a cardiac pulsation map over a single\n   cycle of the cardiac waveform, a la Voss.\n\n-  **showxcorrx** - Like rapidtide, but for single time courses. Takes\n   two text files as input, calculates and displays the time lagged\n   cross correlation between them, fits the maximum time lag, and\n   estimates the significance of the correlation. It has a range of\n   filtering, windowing, and correlation options.\n\n-  **rapidtide2x_legacy**, **happy_legacy**, **showxcorr_legacy** - The\n   older versions of the similarly named programs.  These use the old calling\n   conventions, for compatibility with older workflows.  These will go away\n   eventually, and they don't really get updates or bugfixes, so if you're\n   using them, change to the new ones, and if you're not using them, don't.\n\n-  **rapidtide2std** - This is a utility for registering rapidtide\n   output maps to standard coordinates. It\\'s usually much faster to run\n   rapidtide in native space then transform afterwards to MNI152 space.\n   NB: this will only work if you have a working FSL installation.\n\n-  **happy2std** - Guess.\n\n-  **showtc** - A very simple command line utility that takes timecourses from text\n   files and plots the data in it in a matplotlib window. That\\'s it. A\n   good tool for quickly seeing what\\'s in a file. Has a number of options to\n   make the plot prettier.\n\n-  **showxy** - Another simple command line utility that displays the\n   the data contained in text files containing whitespace separated x-y pairs.\n\n-  **showhist** - Another simple command line utility that displays the\n   histograms generated by rapidtide.\n\n-  **resamp1tc** - takes an input text file at some sample rate and\n   outputs a text file resampled to the specified sample rate.\n\n-  **resamplenifti** - takes an input nifti file at some TR and outputs\n   a nifti file resampled to the specified TR.\n\n-  **tidepool** - This is a GUI tool for displaying all of\n   the various maps and timecourses generated by rapidtide in one place, overlaid on\n   an anatomic image. This makes it a bit easier to see how all the maps\n   are related to one another, how the probe regressor evolves over the run, and the\n   effect of the filtering parameters. To use it, launch tidepool from the\n   command line, and then select a lag time map - tidepool will figure\n   out the root name and pull in all of the other associated data. Works\n   in native or standard space.\n\n\nFinancial Support\n=================\n\nThis code base is being developed and supported by grants from the US\nNIH (`1R01 NS097512 <http://grantome.com/grant/NIH/R01-NS097512-02>`__, RF1 MH130637-01)\n\n\n.. |PyPi Latest Version| image:: https://img.shields.io/pypi/v/rapidtide.svg\n   :target: https://pypi.python.org/pypi/rapidtide/\n.. |PyPi - Python Versions| image:: https://img.shields.io/pypi/pyversions/rapidtide.svg\n   :target: https://pypi.python.org/pypi/rapidtide/\n.. |License| image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg\n   :target: https://opensource.org/licenses/Apache-2.0\n.. |Documentation Status| image:: https://readthedocs.org/projects/rapidtide/badge/?version=stable\n   :target: http://rapidtide.readthedocs.io/en/stable/?badge=stable\n.. |CircleCI| image:: https://circleci.com/gh/bbfrederick/rapidtide.svg?branch=main&style=shield\n   :target: https://circleci.com/gh/bbfrederick/rapidtide\n.. |Coverage| image:: https://codecov.io/gh/bbfrederick/rapidtide/branch/main/graph/badge.svg\n   :target: https://codecov.io/gh/bbfrederick/rapidtide\n.. |DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.814990.svg\n   :target: https://doi.org/10.5281/zenodo.814990\n.. |Funded by NIH| image:: https://img.shields.io/badge/NIH-RF1--MH130637--01-yellowgreen.svg\n   :target: https://reporter.nih.gov/project-details/10509534\n",
    "bugtrack_url": null,
    "license": "Apache Software License",
    "summary": "Tools for performing correlation analysis on fMRI data.",
    "version": "2.9.9.5",
    "project_urls": {
        "Bug Tracker": "https://github.com/bbfrederick/rapidtide/issues",
        "Changelog": "https://github.com/bbfrederick/rapidtide/blob/main/CHANGELOG.md",
        "Documentation": "https://rapidtide.readthedocs.io",
        "Homepage": "https://github.com/bbfrederick/rapidtide",
        "Repository": "https://github.com/bbfrederick/rapidtide.git"
    },
    "split_keywords": [
        "fmri",
        " correlation",
        " riptide",
        " noise"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5f03e88149c789f773f0a0d30a559e8f2e612dc4849bae2b346f8b508d7a03d1",
                "md5": "66f590c55cf1d181ced03ad7d87d30c4",
                "sha256": "57df29e595fc34e63ccb5afc7784eda8bdc4420fa3e557d6298f9260a6661ed4"
            },
            "downloads": -1,
            "filename": "rapidtide-2.9.9.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "66f590c55cf1d181ced03ad7d87d30c4",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 20520407,
            "upload_time": "2024-11-15T17:13:29",
            "upload_time_iso_8601": "2024-11-15T17:13:29.126032Z",
            "url": "https://files.pythonhosted.org/packages/5f/03/e88149c789f773f0a0d30a559e8f2e612dc4849bae2b346f8b508d7a03d1/rapidtide-2.9.9.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "96eecb4ac58e1c0e81667c923290ae149ee34beb905b4b1bfd955ae2a86d2f1a",
                "md5": "9a3666f27efd8ffc6a349dd112caf2cf",
                "sha256": "3be489f9bdb8ec47509d9a5a1489d362e107ec7bb2f0a604d909b659d8ddd3f8"
            },
            "downloads": -1,
            "filename": "rapidtide-2.9.9.5.tar.gz",
            "has_sig": false,
            "md5_digest": "9a3666f27efd8ffc6a349dd112caf2cf",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 20357030,
            "upload_time": "2024-11-15T17:13:32",
            "upload_time_iso_8601": "2024-11-15T17:13:32.619502Z",
            "url": "https://files.pythonhosted.org/packages/96/ee/cb4ac58e1c0e81667c923290ae149ee34beb905b4b1bfd955ae2a86d2f1a/rapidtide-2.9.9.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-15 17:13:32",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "bbfrederick",
    "github_project": "rapidtide",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "circle": true,
    "requirements": [
        {
            "name": "absl-py",
            "specs": [
                [
                    "==",
                    "2.1.0"
                ]
            ]
        },
        {
            "name": "alabaster",
            "specs": [
                [
                    "==",
                    "1.0.0"
                ]
            ]
        },
        {
            "name": "astunparse",
            "specs": [
                [
                    "==",
                    "1.6.3"
                ]
            ]
        },
        {
            "name": "babel",
            "specs": [
                [
                    "==",
                    "2.16.0"
                ]
            ]
        },
        {
            "name": "certifi",
            "specs": [
                [
                    "==",
                    "2024.8.30"
                ]
            ]
        },
        {
            "name": "charset-normalizer",
            "specs": [
                [
                    "==",
                    "3.4.0"
                ]
            ]
        },
        {
            "name": "contourpy",
            "specs": [
                [
                    "==",
                    "1.3.0"
                ]
            ]
        },
        {
            "name": "cycler",
            "specs": [
                [
                    "==",
                    "0.12.1"
                ]
            ]
        },
        {
            "name": "docutils",
            "specs": [
                [
                    "==",
                    "0.21.2"
                ]
            ]
        },
        {
            "name": "flatbuffers",
            "specs": [
                [
                    "==",
                    "24.3.25"
                ]
            ]
        },
        {
            "name": "fonttools",
            "specs": [
                [
                    "==",
                    "4.54.1"
                ]
            ]
        },
        {
            "name": "gast",
            "specs": [
                [
                    "==",
                    "0.6.0"
                ]
            ]
        },
        {
            "name": "google-pasta",
            "specs": [
                [
                    "==",
                    "0.2.0"
                ]
            ]
        },
        {
            "name": "grpcio",
            "specs": [
                [
                    "==",
                    "1.67.0"
                ]
            ]
        },
        {
            "name": "h5py",
            "specs": [
                [
                    "==",
                    "3.12.1"
                ]
            ]
        },
        {
            "name": "idna",
            "specs": [
                [
                    "==",
                    "3.10"
                ]
            ]
        },
        {
            "name": "imageio",
            "specs": [
                [
                    "==",
                    "2.36.0"
                ]
            ]
        },
        {
            "name": "imagesize",
            "specs": [
                [
                    "==",
                    "1.4.1"
                ]
            ]
        },
        {
            "name": "jinja2",
            "specs": [
                [
                    "==",
                    "3.1.5"
                ]
            ]
        },
        {
            "name": "joblib",
            "specs": [
                [
                    "==",
                    "1.4.2"
                ]
            ]
        },
        {
            "name": "keras",
            "specs": [
                [
                    "==",
                    "3.6.0"
                ]
            ]
        },
        {
            "name": "kiwisolver",
            "specs": [
                [
                    "==",
                    "1.4.7"
                ]
            ]
        },
        {
            "name": "latexcodec",
            "specs": [
                [
                    "==",
                    "3.0.0"
                ]
            ]
        },
        {
            "name": "lazy-loader",
            "specs": [
                [
                    "==",
                    "0.4"
                ]
            ]
        },
        {
            "name": "libclang",
            "specs": [
                [
                    "==",
                    "18.1.1"
                ]
            ]
        },
        {
            "name": "lxml",
            "specs": [
                [
                    "==",
                    "5.3.0"
                ]
            ]
        },
        {
            "name": "markdown",
            "specs": [
                [
                    "==",
                    "3.7"
                ]
            ]
        },
        {
            "name": "markdown-it-py",
            "specs": [
                [
                    "==",
                    "3.0.0"
                ]
            ]
        },
        {
            "name": "markupsafe",
            "specs": [
                [
                    "==",
                    "3.0.2"
                ]
            ]
        },
        {
            "name": "matplotlib",
            "specs": [
                [
                    "==",
                    "3.9.2"
                ]
            ]
        },
        {
            "name": "mdit-py-plugins",
            "specs": [
                [
                    "==",
                    "0.4.2"
                ]
            ]
        },
        {
            "name": "mdurl",
            "specs": [
                [
                    "==",
                    "0.1.2"
                ]
            ]
        },
        {
            "name": "ml-dtypes",
            "specs": [
                [
                    "==",
                    "0.4.1"
                ]
            ]
        },
        {
            "name": "myst-parser",
            "specs": [
                [
                    "==",
                    "4.0.0"
                ]
            ]
        },
        {
            "name": "namex",
            "specs": [
                [
                    "==",
                    "0.0.8"
                ]
            ]
        },
        {
            "name": "networkx",
            "specs": [
                [
                    "==",
                    "3.4.2"
                ]
            ]
        },
        {
            "name": "nibabel",
            "specs": [
                [
                    "==",
                    "5.3.1"
                ]
            ]
        },
        {
            "name": "nilearn",
            "specs": [
                [
                    "==",
                    "0.10.4"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": [
                [
                    "==",
                    "1.26.4"
                ]
            ]
        },
        {
            "name": "numpydoc",
            "specs": [
                [
                    "==",
                    "1.8.0"
                ]
            ]
        },
        {
            "name": "opt-einsum",
            "specs": [
                [
                    "==",
                    "3.4.0"
                ]
            ]
        },
        {
            "name": "optree",
            "specs": [
                [
                    "==",
                    "0.13.0"
                ]
            ]
        },
        {
            "name": "packaging",
            "specs": [
                [
                    "==",
                    "24.1"
                ]
            ]
        },
        {
            "name": "pandas",
            "specs": [
                [
                    "==",
                    "2.2.3"
                ]
            ]
        },
        {
            "name": "patsy",
            "specs": [
                [
                    "==",
                    "0.5.6"
                ]
            ]
        },
        {
            "name": "pillow",
            "specs": [
                [
                    "==",
                    "11.0.0"
                ]
            ]
        },
        {
            "name": "protobuf",
            "specs": [
                [
                    "==",
                    "4.25.5"
                ]
            ]
        },
        {
            "name": "pyarrow",
            "specs": [
                [
                    "==",
                    "17.0.0"
                ]
            ]
        },
        {
            "name": "pybtex",
            "specs": [
                [
                    "==",
                    "0.24.0"
                ]
            ]
        },
        {
            "name": "pybtex-docutils",
            "specs": [
                [
                    "==",
                    "1.0.3"
                ]
            ]
        },
        {
            "name": "pygments",
            "specs": [
                [
                    "==",
                    "2.18.0"
                ]
            ]
        },
        {
            "name": "pyparsing",
            "specs": [
                [
                    "==",
                    "3.2.0"
                ]
            ]
        },
        {
            "name": "pyqt5-sip",
            "specs": [
                [
                    "==",
                    "12.15.0"
                ]
            ]
        },
        {
            "name": "pyqtgraph",
            "specs": [
                [
                    "==",
                    "0.13.7"
                ]
            ]
        },
        {
            "name": "python-dateutil",
            "specs": [
                [
                    "==",
                    "2.9.0.post0"
                ]
            ]
        },
        {
            "name": "pytz",
            "specs": [
                [
                    "==",
                    "2024.2"
                ]
            ]
        },
        {
            "name": "pywavelets",
            "specs": [
                [
                    "==",
                    "1.7.0"
                ]
            ]
        },
        {
            "name": "pyyaml",
            "specs": [
                [
                    "==",
                    "6.0.2"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    "==",
                    "2.32.3"
                ]
            ]
        },
        {
            "name": "rich",
            "specs": [
                [
                    "==",
                    "13.9.3"
                ]
            ]
        },
        {
            "name": "scikit-image",
            "specs": [
                [
                    "==",
                    "0.24.0"
                ]
            ]
        },
        {
            "name": "scikit-learn",
            "specs": [
                [
                    "==",
                    "1.5.2"
                ]
            ]
        },
        {
            "name": "scipy",
            "specs": [
                [
                    "==",
                    "1.14.1"
                ]
            ]
        },
        {
            "name": "six",
            "specs": [
                [
                    "==",
                    "1.16.0"
                ]
            ]
        },
        {
            "name": "snowballstemmer",
            "specs": [
                [
                    "==",
                    "2.2.0"
                ]
            ]
        },
        {
            "name": "sphinx",
            "specs": [
                [
                    "==",
                    "8.1.3"
                ]
            ]
        },
        {
            "name": "sphinx-argparse",
            "specs": [
                [
                    "==",
                    "0.5.2"
                ]
            ]
        },
        {
            "name": "sphinx-gallery",
            "specs": [
                [
                    "==",
                    "0.18.0"
                ]
            ]
        },
        {
            "name": "sphinx-rtd-theme",
            "specs": [
                [
                    "==",
                    "3.0.1"
                ]
            ]
        },
        {
            "name": "sphinxcontrib-applehelp",
            "specs": [
                [
                    "==",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "sphinxcontrib-bibtex",
            "specs": [
                [
                    "==",
                    "2.6.3"
                ]
            ]
        },
        {
            "name": "sphinxcontrib-devhelp",
            "specs": [
                [
                    "==",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "sphinxcontrib-htmlhelp",
            "specs": [
                [
                    "==",
                    "2.1.0"
                ]
            ]
        },
        {
            "name": "sphinxcontrib-jquery",
            "specs": [
                [
                    "==",
                    "4.1"
                ]
            ]
        },
        {
            "name": "sphinxcontrib-jsmath",
            "specs": [
                [
                    "==",
                    "1.0.1"
                ]
            ]
        },
        {
            "name": "sphinxcontrib-qthelp",
            "specs": [
                [
                    "==",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "sphinxcontrib-serializinghtml",
            "specs": [
                [
                    "==",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "statsmodels",
            "specs": [
                [
                    "==",
                    "0.14.4"
                ]
            ]
        },
        {
            "name": "tabulate",
            "specs": [
                [
                    "==",
                    "0.9.0"
                ]
            ]
        },
        {
            "name": "tensorboard",
            "specs": [
                [
                    "==",
                    "2.17.1"
                ]
            ]
        },
        {
            "name": "tensorboard-data-server",
            "specs": [
                [
                    "==",
                    "0.7.2"
                ]
            ]
        },
        {
            "name": "tensorflow",
            "specs": [
                [
                    "==",
                    "2.17.0"
                ]
            ]
        },
        {
            "name": "termcolor",
            "specs": [
                [
                    "==",
                    "2.5.0"
                ]
            ]
        },
        {
            "name": "tf-keras",
            "specs": [
                [
                    "==",
                    "2.17.0"
                ]
            ]
        },
        {
            "name": "threadpoolctl",
            "specs": [
                [
                    "==",
                    "3.5.0"
                ]
            ]
        },
        {
            "name": "tifffile",
            "specs": [
                [
                    "==",
                    "2024.9.20"
                ]
            ]
        },
        {
            "name": "tomlkit",
            "specs": [
                [
                    "==",
                    "0.13.2"
                ]
            ]
        },
        {
            "name": "tqdm",
            "specs": [
                [
                    "==",
                    "4.66.5"
                ]
            ]
        },
        {
            "name": "typing-extensions",
            "specs": [
                [
                    "==",
                    "4.12.2"
                ]
            ]
        },
        {
            "name": "tzdata",
            "specs": [
                [
                    "==",
                    "2024.2"
                ]
            ]
        },
        {
            "name": "urllib3",
            "specs": [
                [
                    "==",
                    "2.2.3"
                ]
            ]
        },
        {
            "name": "werkzeug",
            "specs": [
                [
                    "==",
                    "3.0.6"
                ]
            ]
        },
        {
            "name": "wheel",
            "specs": [
                [
                    "==",
                    "0.44.0"
                ]
            ]
        },
        {
            "name": "wrapt",
            "specs": [
                [
                    "==",
                    "1.16.0"
                ]
            ]
        }
    ],
    "lcname": "rapidtide"
}
        
Elapsed time: 3.84248s