Metadata-Version: 2.1
Name: QPrism
Version: 0.2.7
Summary: A data quality assessment package
Project-URL: homepage, https://github.com/aid4mh/QPrism
Project-URL: documentation, https://qprism.readthedocs.io/en/latest/index.html
Project-URL: repository, https://github.com/aid4mh/QPrism
Author: Ramzi Halabi, Zixiong Lin, Rahavi Selvarajan, Jana Kabrit
License: MIT License
        
        Copyright (c) 2022 CAMH / Krembil Center of Neuroinformatics
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
Keywords: audio,qprism,quality assessment,sensor,video
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.7
Requires-Dist: combo==0.1.3
Requires-Dist: imageio==2.21.1
Requires-Dist: moviepy==1.0.3
Requires-Dist: numpy>=1.17.3
Requires-Dist: opencv-python==4.5.3.56
Requires-Dist: pandas==1.2.4
Requires-Dist: pillow==9.0.1
Requires-Dist: pydub==0.25.1
Requires-Dist: pyod==1.0.1
Requires-Dist: scipy==1.7.3
Requires-Dist: tensorflow-hub==0.10.0
Requires-Dist: tensorflow==2.9.1
Requires-Dist: torch==1.12.0
Description-Content-Type: text/markdown

# QPrism

## Statement of Need
While the healthcare big data market is projected to increase from around 11.5 billion to nearly 70 billion U.S. dollars between 2016 and 2025 (Statista, 2022), there isn't a comprehensive package that allows researchers to perform data-driven quality assessment on multimodal real-world digital health data. In fact, data quality covers multiple dimensions e.g. completeness, correctness, consistency, which ought to be jointly investigated for the quantitative assessment of data availability and usability prior to data analysis. This calls for the development of multimodal sensor data quality metrics (DQM),  ideally in a single module, permitting well-rounded quality assessment and reporting for researchers and analysts.

Despite the major need for such quality assessment packages in digital health and across all data analytical fields, the currently available tools partially address the scientists’ and analysts’ needs. The available functions are mostly data descriptive metrics that require further contextualization and application-specific tuning to be used as DQMs, and the available modules and packages cover a single quality dimension e.g. noise level, anomaly level, object detection. For instance, PyOD contains a wide range of functions for outlier detection, while SciPy provides signal-to-noise ratio (SNR) computation functions as well as statistical descriptors that may be customized as DQMs. Specifically for audio, Python-based Librosa and Audioop, and R-based Essentia provide functions for audio processing and feature extraction, requiring further development to serve as DQMs. Lastly, for video data quality assessment, the QVA package performs common quality-based video clustering, however requiring the user to be on a Windows machine. 

QPrism fills the current gap by allowing researchers and developers to perform data quality analysis, and devise plans for pre-analytical quality control plans. Thus, QPrism covers the need for having access to a broad spectrum of data quality metrics in a single Python package for comprehensive data-driven quality assessment of real-word data. 



## Installation

The installation can be done with pip. since pip does not resolve the dependencies' version efficiently, please install QPrism with the following steps.

  ```
  $ python3 -m pip install --upgrade pip
  ```

  ```
  $ pip install -r https://raw.githubusercontent.com/aid4mh/QPrism/main/requirements.txt
  ```

  ```
  $ pip install --no-deps -i https://test.pypi.org/simple/ QPrism==0.1.7
  ```


## Documentation

The full documentation for QPrism can be accessed [here](https://qprism.readthedocs.io/en/latest/).
 



## Examples:

We have provided throughout demo notebooks in Google Colab covered all functions.
The notebooks can be accessed [here](https://github.com/aid4mh/QPrism/tree/main/tests).
Note: In the sensor folder, it also contains notebooks that can validate each metric we have created.


## Contributing to the project


## Acknowledgments


## Authors
- [@Ramzi Halabi](https://github.com/RamziHalabi)
- [@RahaviSelvarajan](https://github.com/RahaviSelvarajan)
- [@Jana-kabrit](https://github.com/Jana-kabrit)
- [@ZixiongLin1](https://github.com/ZixiongLin1)


## Contact 

- to report issues 
- to seek support


## License
   
   [MIT License](https://github.com/aid4mh/QPrism/blob/main/LICENSE)
    
