picachooser


Namepicachooser JSON
Version 1.4.6 PyPI version JSON
download
home_pagehttps://github.com/bbfrederick/picachooser
SummaryLightweight GUI for sorting, classifying, and matching MELODIC ICA components.
upload_time2024-02-23 15:49:08
maintainer
docs_urlNone
authorBlaise Frederick
requires_python
licenseApache Software License
keywords fmri melodic ica aroma fix
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            PICAchooser (the package)
=========================

.. figure:: https://raw.githubusercontent.com/bbfrederick/picachooser/master/images/picalogo.png
   :alt: Logo

A set of simple gui tools for scanning through MELODIC probabalistic ICA
runs and quickly making decisions about which components to retain, and
what relates to what. These tools each only do one thing, but they do them
quickly and easily using only keyboard input. Current programs are
PICAchooser, melodicomp, and grader.

Full documentation is here: https://picachooser.readthedocs.io/en/latest/introduction.html

What's in here?
===============

PICAchooser
-----------
Lets you step through the components in an ICA analysis (from many sources), and select which components you
want to retain.  In addition to showing the spatial ICs, it also displays the componnent timecourses,
motion traces, and the correlation between them, to help with your decision making.

Once you launch, you do everything with keyboard commands, and it's been optimized to go as fast as possible, so
you aren't waiting around for things.

.. figure:: https://raw.githubusercontent.com/bbfrederick/picachooser/master/images/picachooser_screenshot_small.png
   :alt: PICAchooser screenshot

   PICAchooser screenshot


melodicomp
----------
Puts up two melodic IC files side by side.  In order to make the comparison meaningful, it first calculates the
spatial crosscorrelation between each IC in the first file and each IC in the second.  As you step through components
in the first file, on the right you see the component with the highest crosscorrelation in the second file.  You can
sort either by IC order in the first file (i.e. in order of descending variance explained), or in descending
correlation coefficient (i.e. best matched components first). When you quit (or hit the escape key), it writes out
a file listing the best matched ICs along with their correlation coefficients.

I'm especially proud of the "blink" feature.  When you hit the "b" key, the right and left window swap,
instantaneously.  This lets you see what changes between the two sets of networks in a very natural way.  This
is inspired by blink comparators, a cool old piece of tech probably long forgotten by most.

Again, once you launch, you do everything with keyboard commands, and it's been optimized to go as fast as
possible, so you aren't waiting around for things.

.. figure:: https://raw.githubusercontent.com/bbfrederick/picachooser/master/images/melodicomp_screenshot_small.png
   :alt: PICAchooser screenshot

   melodicomp screenshot



A note on component numbering
=============================
Astute users will notice that components are numbered differently in different contexts.  This is actually intentional.
In the GUI, and in any files that work directly with FSL tools, I use whatever convention FSL uses.  So for displayed
components, the first component is IC1.  Output files that will be used by fsl_regfilt also use this convention.  However,
for any informational output on the terminal that you might use when looking at components in FSLeyes directly, or operating
on them with fslmaths or your own python code, the component numbering starts at 0.  As the universe intended.  If you use matlab,
add 1 in your head.


Support
=======

This code base is being developed and supported by a grant from the US
NIH `1R01 NS097512 <http://grantome.com/grant/NIH/R01-NS097512-02>`__.

Additional packages used
========================

PICAchooser would not be possible without many additional open source
packages. These include:

pyqtgraph:
----------

1) Luke Campagnola. `PyQtGraph: Scientific Graphics and GUI Library for
   Python <http://www.pyqtgraph.org>`__

nibabel:
--------

1) `Nibabel: Python package to access a cacophony of neuro-imaging file
   formats <https://github.com/nipy/nibabel>`__ \|
   https://10.5281/zenodo.591597

numpy:
------

1) Stéfan van der Walt, S. Chris Colbert and Gaël Varoquaux. The NumPy
   Array: A Structure for Efficient Numerical Computation, Computing in
   Science & Engineering, 13, 22-30 (2011) \| https:10.1109/MCSE.2011.37

scipy:
------

1) Pauli Virtanen, Ralf Gommers, Travis E. Oliphant, Matt Haberland,
   Tyler Reddy, David Cournapeau, Evgeni Burovski, Pearu Peterson,
   Warren Weckesser, Jonathan Bright, Stéfan J. van der Walt, Matthew
   Brett, Joshua Wilson, K. Jarrod Millman, Nikolay Mayorov, Andrew R.
   J. Nelson, Eric Jones, Robert Kern, Eric Larson, CJ Carey, İlhan
   Polat, Yu Feng, Eric W. Moore, Jake VanderPlas, Denis Laxalde, Josef
   Perktold, Robert Cimrman, Ian Henriksen, E.A. Quintero, Charles R
   Harris, Anne M. Archibald, Antônio H. Ribeiro, Fabian Pedregosa, Paul
   van Mulbregt, and SciPy 1.0 Contributors. (2020) SciPy 1.0:
   Fundamental Algorithms for Scientific Computing in Python. Nature
   Methods, 17, 261–272 (2020) \|
   https://doi.org/10.1038/s41592-019-0686-2

pandas:
-------

1) McKinney, W., pandas: a foundational Python library for data analysis
   and statistics. Python for High Performance and Scientific Computing, 2011. 14.



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/bbfrederick/picachooser",
    "name": "picachooser",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "fMRI,MELODIC,ICA,AROMA,FIX",
    "author": "Blaise Frederick",
    "author_email": "bbfrederick@mclean.harvard.edu",
    "download_url": "https://files.pythonhosted.org/packages/ca/cb/16eb80d65abb9f8ce22de88d8cfb59dd1bc33b2aa5094525c6895912d31c/picachooser-1.4.6.tar.gz",
    "platform": null,
    "description": "PICAchooser (the package)\n=========================\n\n.. figure:: https://raw.githubusercontent.com/bbfrederick/picachooser/master/images/picalogo.png\n   :alt: Logo\n\nA set of simple gui tools for scanning through MELODIC probabalistic ICA\nruns and quickly making decisions about which components to retain, and\nwhat relates to what. These tools each only do one thing, but they do them\nquickly and easily using only keyboard input. Current programs are\nPICAchooser, melodicomp, and grader.\n\nFull documentation is here: https://picachooser.readthedocs.io/en/latest/introduction.html\n\nWhat's in here?\n===============\n\nPICAchooser\n-----------\nLets you step through the components in an ICA analysis (from many sources), and select which components you\nwant to retain.  In addition to showing the spatial ICs, it also displays the componnent timecourses,\nmotion traces, and the correlation between them, to help with your decision making.\n\nOnce you launch, you do everything with keyboard commands, and it's been optimized to go as fast as possible, so\nyou aren't waiting around for things.\n\n.. figure:: https://raw.githubusercontent.com/bbfrederick/picachooser/master/images/picachooser_screenshot_small.png\n   :alt: PICAchooser screenshot\n\n   PICAchooser screenshot\n\n\nmelodicomp\n----------\nPuts up two melodic IC files side by side.  In order to make the comparison meaningful, it first calculates the\nspatial crosscorrelation between each IC in the first file and each IC in the second.  As you step through components\nin the first file, on the right you see the component with the highest crosscorrelation in the second file.  You can\nsort either by IC order in the first file (i.e. in order of descending variance explained), or in descending\ncorrelation coefficient (i.e. best matched components first). When you quit (or hit the escape key), it writes out\na file listing the best matched ICs along with their correlation coefficients.\n\nI'm especially proud of the \"blink\" feature.  When you hit the \"b\" key, the right and left window swap,\ninstantaneously.  This lets you see what changes between the two sets of networks in a very natural way.  This\nis inspired by blink comparators, a cool old piece of tech probably long forgotten by most.\n\nAgain, once you launch, you do everything with keyboard commands, and it's been optimized to go as fast as\npossible, so you aren't waiting around for things.\n\n.. figure:: https://raw.githubusercontent.com/bbfrederick/picachooser/master/images/melodicomp_screenshot_small.png\n   :alt: PICAchooser screenshot\n\n   melodicomp screenshot\n\n\n\nA note on component numbering\n=============================\nAstute users will notice that components are numbered differently in different contexts.  This is actually intentional.\nIn the GUI, and in any files that work directly with FSL tools, I use whatever convention FSL uses.  So for displayed\ncomponents, the first component is IC1.  Output files that will be used by fsl_regfilt also use this convention.  However,\nfor any informational output on the terminal that you might use when looking at components in FSLeyes directly, or operating\non them with fslmaths or your own python code, the component numbering starts at 0.  As the universe intended.  If you use matlab,\nadd 1 in your head.\n\n\nSupport\n=======\n\nThis code base is being developed and supported by a grant from the US\nNIH `1R01 NS097512 <http://grantome.com/grant/NIH/R01-NS097512-02>`__.\n\nAdditional packages used\n========================\n\nPICAchooser would not be possible without many additional open source\npackages. These include:\n\npyqtgraph:\n----------\n\n1) Luke Campagnola. `PyQtGraph: Scientific Graphics and GUI Library for\n   Python <http://www.pyqtgraph.org>`__\n\nnibabel:\n--------\n\n1) `Nibabel: Python package to access a cacophony of neuro-imaging file\n   formats <https://github.com/nipy/nibabel>`__ \\|\n   https://10.5281/zenodo.591597\n\nnumpy:\n------\n\n1) St\u00e9fan van der Walt, S. Chris Colbert and Ga\u00ebl Varoquaux. The NumPy\n   Array: A Structure for Efficient Numerical Computation, Computing in\n   Science & Engineering, 13, 22-30 (2011) \\| https:10.1109/MCSE.2011.37\n\nscipy:\n------\n\n1) Pauli Virtanen, Ralf Gommers, Travis E. Oliphant, Matt Haberland,\n   Tyler Reddy, David Cournapeau, Evgeni Burovski, Pearu Peterson,\n   Warren Weckesser, Jonathan Bright, St\u00e9fan J. van der Walt, Matthew\n   Brett, Joshua Wilson, K. Jarrod Millman, Nikolay Mayorov, Andrew R.\n   J. Nelson, Eric Jones, Robert Kern, Eric Larson, CJ Carey, \u0130lhan\n   Polat, Yu Feng, Eric W. Moore, Jake VanderPlas, Denis Laxalde, Josef\n   Perktold, Robert Cimrman, Ian Henriksen, E.A. Quintero, Charles R\n   Harris, Anne M. Archibald, Ant\u00f4nio H. Ribeiro, Fabian Pedregosa, Paul\n   van Mulbregt, and SciPy 1.0 Contributors. (2020) SciPy 1.0:\n   Fundamental Algorithms for Scientific Computing in Python. Nature\n   Methods, 17, 261\u2013272 (2020) \\|\n   https://doi.org/10.1038/s41592-019-0686-2\n\npandas:\n-------\n\n1) McKinney, W., pandas: a foundational Python library for data analysis\n   and statistics. Python for High Performance and Scientific Computing, 2011. 14.\n\n\n",
    "bugtrack_url": null,
    "license": "Apache Software License",
    "summary": "Lightweight GUI for sorting, classifying, and matching MELODIC ICA components.",
    "version": "1.4.6",
    "project_urls": {
        "Homepage": "https://github.com/bbfrederick/picachooser"
    },
    "split_keywords": [
        "fmri",
        "melodic",
        "ica",
        "aroma",
        "fix"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f88fc87dab2da57a1d8842a957f1727baacf788ac08752c0b91758a3ad2e312e",
                "md5": "751d9833b8f66e0e0d3ad472875b7ec5",
                "sha256": "61ca82976aa3e9eb8d6427788e986b8a70257bfd922b2e3192d0c58d747d186d"
            },
            "downloads": -1,
            "filename": "picachooser-1.4.6-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "751d9833b8f66e0e0d3ad472875b7ec5",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": null,
            "size": 39174527,
            "upload_time": "2024-02-23T15:49:03",
            "upload_time_iso_8601": "2024-02-23T15:49:03.093959Z",
            "url": "https://files.pythonhosted.org/packages/f8/8f/c87dab2da57a1d8842a957f1727baacf788ac08752c0b91758a3ad2e312e/picachooser-1.4.6-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cacb16eb80d65abb9f8ce22de88d8cfb59dd1bc33b2aa5094525c6895912d31c",
                "md5": "ac8d41c8bf2cdf17e17817f1e88b68ad",
                "sha256": "b5ee377f76707ac1f9e491d5be6d06609c754bb8b9e1c1e63d4722a1e5f32521"
            },
            "downloads": -1,
            "filename": "picachooser-1.4.6.tar.gz",
            "has_sig": false,
            "md5_digest": "ac8d41c8bf2cdf17e17817f1e88b68ad",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 39155244,
            "upload_time": "2024-02-23T15:49:08",
            "upload_time_iso_8601": "2024-02-23T15:49:08.856962Z",
            "url": "https://files.pythonhosted.org/packages/ca/cb/16eb80d65abb9f8ce22de88d8cfb59dd1bc33b2aa5094525c6895912d31c/picachooser-1.4.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-23 15:49:08",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "bbfrederick",
    "github_project": "picachooser",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "picachooser"
}
        
Elapsed time: 0.18684s