mrqy


Namemrqy JSON
Version 0.0.3 PyPI version JSON
download
home_page
SummaryMRQy is a quality assurance and checking tool for quantitative assessment of magnetic resonance imaging (MRI) data.
upload_time2024-03-07 15:53:31
maintainer
docs_urlNone
author
requires_python>=3.6
licenseBSD 3-Clause Clear License
keywords mri ct
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            .. image:: https://user-images.githubusercontent.com/50635618/77593997-b1492a00-6ecb-11ea-939c-c8962f371e5a.png
   :alt: Picture1

Front-end View
--------------

.. image:: https://user-images.githubusercontent.com/50635618/77496601-b6519f00-6e21-11ea-8f52-16f33d4c66cc.gif
   :alt: gbm_mrqy

Backend View
------------

.. image:: https://user-images.githubusercontent.com/50635618/77506445-43095680-6e3c-11ea-9376-7be6f7cdc5d8.gif
   :alt: gbm_mrqy

.. contents:: Table of Contents
   :local:

Description
-----------

This tool takes MRI datasets in the file formats (_.dcm_, _.nii_, _.nii.gz_ or _.mha_) as the input.
Two Python scripts (*QC.py* and *QCF.py*) are used to generate several tags and noise/information measurements for quality assessment. These scripts save the calculated measures in a  _.tsv_ file as well as generate _.png_ thumbnails for all images in a subject volume. These are then fed to _.js_ scripts to create the user interface (*index.html*) output. A schematic illustrating the framework of the tool is as follows.

.. image:: https://user-images.githubusercontent.com/50635618/76675455-07df6b80-6590-11ea-85f7-13b71a9a1ec3.png
   :alt: Framework schematic

Prerequisites
-------------

The current version of the tool has been tested on the Python 3.6+
You must have `pipenv <https://pipenv-fork.readthedocs.io/en/latest/basics.html>`_ installed on your environment to run MRQy locally. It will pull all the dependencies listed in the diagram.

.. image:: https://user-images.githubusercontent.com/50635618/76580525-a2638000-64a6-11ea-8a37-38e95c4693c3.png
   :alt: Dependencies diagram

You can also likely install the python requirements using something like:

.. code-block:: bash

    pip3 install -r requirements.txt

Running
-------

For local development, test that the code is functional

.. code-block:: bash

    MRQy % pipenv shell
    (mrqy) MRQy% pipenv install .
    (mrqy) MRQy% python -m mrqy.QC --help

The output should be

.. code-block:: none

    usage: QC.py [-h] output_folder_name [inputdir [inputdir ...]]

    positional arguments:
      output_folder_name  the subfolder name on the
                          '...\UserInterface\Data\output_folder_name' directory.
      inputdir            input foldername consists of *.mha (*.nii or *.dcm)
                          files. For example: 'E:\Data\Rectal\input_data_folder'

    optional arguments:
      -h, --help          show this help message and exit

Standard usage is to run ``QC.py output_folder_name “input directory”`` i.e.

.. code-block:: bash

    python QC.py output_folder_name "E:\Data\Rectal\RectalCancer_Multisite\input_data_folder"

There is no need to make a subfolder in the Data directory, just specify its name in the command as in the above code.
Every action will be printed in the output console.
The thumbnail images in the format of _.png_ will be saved in "...\UserInterface\Data\output_folder_name" with its original filename as the subfolder name. Afterward, double click "index.html" (on e.g. "D:\Downloads\MRQy-master\UserInterface") to open front-end user interface, and select the respective *results.tsv* file from the correct location e.g. "D:\Downloads\MRQy-master\UserInterface\Data\output_folder_name" directory.

Contribution guidelines
-----------------------

Testing
^^^^^^^

.. code-block:: bash

    MRQy % pipenv shell
    (mrqy) MRQy% pipenv install .
    (mrqy) MRQY% pipenv run -m pytest tests/

Building on Travis
^^^^^^^^^^^^^^^^^^
The recommended path is to follow the `Forking Workflow <https://www.atlassian.com/git/tutorials/comparing-workflows/forking-workflow>`_. Create a Travis CI build for your github fork to validate your fork before pushing a merge request to master.

Basic Information
-----------------

Measurements
^^^^^^^^^^^^

The measures of the MRQy tool are listed in the following table.

.. image:: https://user-images.githubusercontent.com/50635618/76733243-cb9a3f80-6736-11ea-8100-a1bdb6f60d3f.png
   :alt: Measurements table

User Interface
^^^^^^^^^^^^^^

The following figures show the user interface of the tool (index.html).

.. image:: https://user-images.githubusercontent.com/50635618/78467306-3ce76580-76d9-11ea-8dbd-d43f82cd29a6.PNG
   :alt: UI example 1

.. image:: https://user-images.githubusercontent.com/50635618/78467302-3bb63880-76d9-11ea-84ff-ce44f5f8a822.PNG
   :alt: UI example 2

.. image:: https://user-images.githubusercontent.com/50635618/78467305-3ce76580-76d9-11ea-96a8-7574042c14c6.PNG
   :alt: UI example 3

Feedback and usage
------------------

Please report and issues, bugfixes, ideas for enhancements via the "`Issues <https://github.com/ccipd/MRQy/issues>`_" tab.

Detailed usage instructions and an example of using MRQy to analyze TCIA datasets are in the `Wiki <https://github.com/ccipd/MRQy/wiki>`_.

You can cite this in any associated publication as:  
Sadri, AR, Janowczyk, A, Zou, R, Verma, R, Beig, N, Antunes, J, Madabhushi, A, Tiwari, P, Viswanath, SE, "Technical Note: MRQy — An open-source tool for quality control of MR imaging data", Med. Phys., 2020, 47: 6029-6038. https://doi.org/10.1002/mp.14593

ArXiv: https://arxiv.org/abs/2004.04871

If you do use the tool in your own work, please drop us a line to let us know.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "mrqy",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "",
    "keywords": "MRI,CT",
    "author": "",
    "author_email": "Amir Reza Sadri <ars329@case.edu>, Mohsen Hariri <mohsen.hariri@case.edu>, Satish Viswanath <satish.viswanath@case.edu>",
    "download_url": "https://files.pythonhosted.org/packages/27/bf/d5fc2eee6c8f1207b150d38692a76901a6a57b34a8bdbc5a8c1b7f7e5063/mrqy-0.0.3.tar.gz",
    "platform": null,
    "description": ".. image:: https://user-images.githubusercontent.com/50635618/77593997-b1492a00-6ecb-11ea-939c-c8962f371e5a.png\n   :alt: Picture1\n\nFront-end View\n--------------\n\n.. image:: https://user-images.githubusercontent.com/50635618/77496601-b6519f00-6e21-11ea-8f52-16f33d4c66cc.gif\n   :alt: gbm_mrqy\n\nBackend View\n------------\n\n.. image:: https://user-images.githubusercontent.com/50635618/77506445-43095680-6e3c-11ea-9376-7be6f7cdc5d8.gif\n   :alt: gbm_mrqy\n\n.. contents:: Table of Contents\n   :local:\n\nDescription\n-----------\n\nThis tool takes MRI datasets in the file formats (_.dcm_, _.nii_, _.nii.gz_ or _.mha_) as the input.\nTwo Python scripts (*QC.py* and *QCF.py*) are used to generate several tags and noise/information measurements for quality assessment. These scripts save the calculated measures in a  _.tsv_ file as well as generate _.png_ thumbnails for all images in a subject volume. These are then fed to _.js_ scripts to create the user interface (*index.html*) output. A schematic illustrating the framework of the tool is as follows.\n\n.. image:: https://user-images.githubusercontent.com/50635618/76675455-07df6b80-6590-11ea-85f7-13b71a9a1ec3.png\n   :alt: Framework schematic\n\nPrerequisites\n-------------\n\nThe current version of the tool has been tested on the Python 3.6+\nYou must have `pipenv <https://pipenv-fork.readthedocs.io/en/latest/basics.html>`_ installed on your environment to run MRQy locally. It will pull all the dependencies listed in the diagram.\n\n.. image:: https://user-images.githubusercontent.com/50635618/76580525-a2638000-64a6-11ea-8a37-38e95c4693c3.png\n   :alt: Dependencies diagram\n\nYou can also likely install the python requirements using something like:\n\n.. code-block:: bash\n\n    pip3 install -r requirements.txt\n\nRunning\n-------\n\nFor local development, test that the code is functional\n\n.. code-block:: bash\n\n    MRQy % pipenv shell\n    (mrqy) MRQy% pipenv install .\n    (mrqy) MRQy% python -m mrqy.QC --help\n\nThe output should be\n\n.. code-block:: none\n\n    usage: QC.py [-h] output_folder_name [inputdir [inputdir ...]]\n\n    positional arguments:\n      output_folder_name  the subfolder name on the\n                          '...\\UserInterface\\Data\\output_folder_name' directory.\n      inputdir            input foldername consists of *.mha (*.nii or *.dcm)\n                          files. For example: 'E:\\Data\\Rectal\\input_data_folder'\n\n    optional arguments:\n      -h, --help          show this help message and exit\n\nStandard usage is to run ``QC.py output_folder_name \u201cinput directory\u201d`` i.e.\n\n.. code-block:: bash\n\n    python QC.py output_folder_name \"E:\\Data\\Rectal\\RectalCancer_Multisite\\input_data_folder\"\n\nThere is no need to make a subfolder in the Data directory, just specify its name in the command as in the above code.\nEvery action will be printed in the output console.\nThe thumbnail images in the format of _.png_ will be saved in \"...\\UserInterface\\Data\\output_folder_name\" with its original filename as the subfolder name. Afterward, double click \"index.html\" (on e.g. \"D:\\Downloads\\MRQy-master\\UserInterface\") to open front-end user interface, and select the respective *results.tsv* file from the correct location e.g. \"D:\\Downloads\\MRQy-master\\UserInterface\\Data\\output_folder_name\" directory.\n\nContribution guidelines\n-----------------------\n\nTesting\n^^^^^^^\n\n.. code-block:: bash\n\n    MRQy % pipenv shell\n    (mrqy) MRQy% pipenv install .\n    (mrqy) MRQY% pipenv run -m pytest tests/\n\nBuilding on Travis\n^^^^^^^^^^^^^^^^^^\nThe recommended path is to follow the `Forking Workflow <https://www.atlassian.com/git/tutorials/comparing-workflows/forking-workflow>`_. Create a Travis CI build for your github fork to validate your fork before pushing a merge request to master.\n\nBasic Information\n-----------------\n\nMeasurements\n^^^^^^^^^^^^\n\nThe measures of the MRQy tool are listed in the following table.\n\n.. image:: https://user-images.githubusercontent.com/50635618/76733243-cb9a3f80-6736-11ea-8100-a1bdb6f60d3f.png\n   :alt: Measurements table\n\nUser Interface\n^^^^^^^^^^^^^^\n\nThe following figures show the user interface of the tool (index.html).\n\n.. image:: https://user-images.githubusercontent.com/50635618/78467306-3ce76580-76d9-11ea-8dbd-d43f82cd29a6.PNG\n   :alt: UI example 1\n\n.. image:: https://user-images.githubusercontent.com/50635618/78467302-3bb63880-76d9-11ea-84ff-ce44f5f8a822.PNG\n   :alt: UI example 2\n\n.. image:: https://user-images.githubusercontent.com/50635618/78467305-3ce76580-76d9-11ea-96a8-7574042c14c6.PNG\n   :alt: UI example 3\n\nFeedback and usage\n------------------\n\nPlease report and issues, bugfixes, ideas for enhancements via the \"`Issues <https://github.com/ccipd/MRQy/issues>`_\" tab.\n\nDetailed usage instructions and an example of using MRQy to analyze TCIA datasets are in the `Wiki <https://github.com/ccipd/MRQy/wiki>`_.\n\nYou can cite this in any associated publication as:  \nSadri, AR, Janowczyk, A, Zou, R, Verma, R, Beig, N, Antunes, J, Madabhushi, A, Tiwari, P, Viswanath, SE, \"Technical Note: MRQy \u2014 An open-source tool for quality control of MR imaging data\", Med. Phys., 2020, 47: 6029-6038. https://doi.org/10.1002/mp.14593\n\nArXiv: https://arxiv.org/abs/2004.04871\n\nIf you do use the tool in your own work, please drop us a line to let us know.\n",
    "bugtrack_url": null,
    "license": "BSD 3-Clause Clear License",
    "summary": "MRQy is a quality assurance and checking tool for quantitative assessment of magnetic resonance imaging (MRI) data.",
    "version": "0.0.3",
    "project_urls": null,
    "split_keywords": [
        "mri",
        "ct"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c95c3897c30bcce3fec7796de32b37cfc6380c1970b4f7e72377fdcd88fb35e5",
                "md5": "cd41f8ad7591cdab6fba02903ad3e659",
                "sha256": "4c75b3086578bf1bf1e3eca8566454f1a5a64a97b46f63fca19fdffc5d9c7d2f"
            },
            "downloads": -1,
            "filename": "mrqy-0.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "cd41f8ad7591cdab6fba02903ad3e659",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 17151,
            "upload_time": "2024-03-07T15:53:30",
            "upload_time_iso_8601": "2024-03-07T15:53:30.212808Z",
            "url": "https://files.pythonhosted.org/packages/c9/5c/3897c30bcce3fec7796de32b37cfc6380c1970b4f7e72377fdcd88fb35e5/mrqy-0.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "27bfd5fc2eee6c8f1207b150d38692a76901a6a57b34a8bdbc5a8c1b7f7e5063",
                "md5": "0b25278bc4acb423f2526f1f789c2aa9",
                "sha256": "86bf6b1cf2645b9e046cc626b81a98a439468532f160b2effaabac004fb96f94"
            },
            "downloads": -1,
            "filename": "mrqy-0.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "0b25278bc4acb423f2526f1f789c2aa9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 15708,
            "upload_time": "2024-03-07T15:53:31",
            "upload_time_iso_8601": "2024-03-07T15:53:31.851636Z",
            "url": "https://files.pythonhosted.org/packages/27/bf/d5fc2eee6c8f1207b150d38692a76901a6a57b34a8bdbc5a8c1b7f7e5063/mrqy-0.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-07 15:53:31",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "mrqy"
}
        
Elapsed time: 0.19508s