Metadata-Version: 2.4
Name: clabtoolkit
Version: 0.4.2
Summary: A comprehensive toolkit for neuroimaging data processing and analysis
Author-email: Yasser Alemán-Gómez <yasseraleman@protonmail.com>
Maintainer-email: Yasser Alemán-Gómez <yasseraleman@protonmail.com>
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/connectomicslab/clabtoolkit
Project-URL: Repository, https://github.com/connectomicslab/clabtoolkit
Project-URL: Documentation, https://clabtoolkit.readthedocs.io
Project-URL: Bug Tracker, https://github.com/connectomicslab/clabtoolkit/issues
Keywords: neuroimaging,image-processing,bids,freesurfer,connectivity
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Medical Science Apps.
Classifier: Topic :: Scientific/Engineering :: Image Processing
Requires-Python: >=3.9
Description-Content-Type: text/x-rst
License-File: LICENSE
License-File: AUTHORS.rst
Requires-Dist: nibabel>=5.3.2
Requires-Dist: numpy>=1.23.5
Requires-Dist: pandas>=2.3.1
Requires-Dist: pydicom>=3.0.1
Requires-Dist: rich>=14.1.0
Requires-Dist: scipy>=1.16.0
Requires-Dist: setuptools>=80.9.0
Requires-Dist: scikit-image>=0.25.2
Requires-Dist: h5py>=3.14.0
Requires-Dist: matplotlib>=3.10.3
Requires-Dist: pyvista>=0.45.3
Requires-Dist: nilearn>=0.12.0
Requires-Dist: joblib>=1.5.1
Provides-Extra: dev
Requires-Dist: pytest>=8.4.1; extra == "dev"
Requires-Dist: pytest-cov>=6.2.1; extra == "dev"
Requires-Dist: black>=25.1.0; extra == "dev"
Requires-Dist: ruff>=0.12.5; extra == "dev"
Requires-Dist: mypy>=1.17.0; extra == "dev"
Requires-Dist: pre-commit>=4.2.0; extra == "dev"
Requires-Dist: tox>=4.28.1; extra == "dev"
Requires-Dist: termcolor>=3.1.0; extra == "dev"
Requires-Dist: tabulate>=0.9.0; extra == "dev"
Provides-Extra: docs
Requires-Dist: sphinx>=8.2.3; extra == "docs"
Requires-Dist: sphinx-rtd-theme>=3.0.2; extra == "docs"
Requires-Dist: myst-parser>=4.0.1; extra == "docs"
Provides-Extra: test
Requires-Dist: pytest>=8.4.1; extra == "test"
Requires-Dist: pytest-cov>=6.2.1; extra == "test"
Requires-Dist: pytest-xdist>=3.8.0; extra == "test"
Dynamic: license-file

========================
Connectomics Lab Toolkit
========================


.. image:: https://img.shields.io/pypi/v/clabtoolkit.svg
        :target: https://pypi.python.org/pypi/clabtoolkit

.. image:: https://github.com/connectomicslab/clabtoolkit/actions/workflows/ci.yml/badge.svg
        :target: https://github.com/connectomicslab/clabtoolkit/actions/workflows/ci.yml

.. image:: https://readthedocs.org/projects/clabtoolkit/badge/?version=latest
        :target: https://clabtoolkit.readthedocs.io/en/latest/?version=latest
        :alt: Documentation Status

.. image:: https://img.shields.io/pypi/pyversions/clabtoolkit.svg
        :target: https://pypi.python.org/pypi/clabtoolkit

.. image:: https://codecov.io/gh/connectomicslab/clabtoolkit/branch/main/graph/badge.svg
        :target: https://codecov.io/gh/connectomicslab/clabtoolkit


A comprehensive Python toolkit for neuroimaging data processing and analysis, specifically designed for working with brain connectivity data, BIDS datasets, and various neuroimaging formats.

* **Free software**: Apache Software License 2.0
* **Documentation**: https://clabtoolkit.readthedocs.io
* **Source Code**: https://github.com/connectomicslab/clabtoolkit
* **Python versions**: 3.9+

Installation
------------

Install from PyPI::

    pip install clabtoolkit

For development installation::

    git clone https://github.com/connectomicslab/clabtoolkit.git
    cd clabtoolkit
    pip install -e .[dev]

Features
--------

**BIDS Tools** (``clabtoolkit.bidstools``)
    * BIDS dataset validation and manipulation
    * Entity extraction from BIDS filenames
    * Conversion between BIDS formats
    * Metadata handling for neuroimaging datasets

**Connectivity Tools** (``clabtoolkit.connectivitytools``)
    * Brain connectivity matrix analysis
    * Network-based statistics
    * Graph theory metrics computation
    * Connectivity visualization utilities

**FreeSurfer Tools** (``clabtoolkit.freesurfertools``)
    * FreeSurfer output parsing and processing
    * Surface-based analysis utilities
    * Cortical thickness and morphometry tools
    * Integration with FreeSurfer workflows

**Image Processing Tools** (``clabtoolkit.imagetools``)
    * Neuroimaging data I/O operations
    * Image registration and transformation
    * Quality control and preprocessing utilities
    * Multi-modal image processing

**Parcellation Tools** (``clabtoolkit.parcellationtools``)
    * Brain parcellation scheme handling
    * Region-of-interest (ROI) extraction
    * Atlas-based analysis tools
    * Custom parcellation creation

**Surface Tools** (``clabtoolkit.surfacetools``)
    * Surface mesh processing and analysis
    * Cortical surface manipulation
    * Surface-based statistics
    * Visualization of surface data

**DWI Tools** (``clabtoolkit.dwitools``)
    * Diffusion-weighted imaging analysis
    * Tractography processing utilities
    * DTI and advanced diffusion modeling
    * White matter analysis tools

**Quality Control Tools** (``clabtoolkit.qcqatools``)
    * Automated quality assessment
    * Image artifact detection
    * Quality metrics computation
    * Reporting and visualization

**Visualization Tools** (``clabtoolkit.visualizationtools``)
    * Brain visualization utilities
    * Interactive plotting capabilities
    * Publication-ready figures
    * Multi-modal data visualization

Quick Start
-----------

.. code-block:: python

    import clabtoolkit.bidstools as bids
    import clabtoolkit.connectivitytools as conn
    
    # Load BIDS configuration
    config = bids.load_bids_json()
    
    # Extract entities from BIDS filename
    entities = bids.str2entity("sub-01_ses-M00_T1w.nii.gz")
    print(entities)  # {'sub': '01', 'ses': 'M00', 'suffix': 'T1w', 'extension': 'nii.gz'}
    
    # Process connectivity data
    # conn_matrix = conn.load_connectivity_matrix("path/to/connectivity.mat")

Contributing
------------

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

1. Fork the repository
2. Create your feature branch (``git checkout -b feature/amazing-feature``)
3. Commit your changes (``git commit -m 'Add some amazing feature'``)
4. Push to the branch (``git push origin feature/amazing-feature``)
5. Open a Pull Request

Testing
-------

Run tests with::

    pytest

Run tests with coverage::

    pytest --cov=clabtoolkit

Changelog
---------

See `HISTORY.rst <HISTORY.rst>`_ for a detailed changelog.

Credits
-------

This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.

.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage
