sirf-simind-connection


Namesirf-simind-connection JSON
Version 0.2.2 PyPI version JSON
download
home_pageNone
SummaryA wrapper for SIRF and SIMIND for Monte Carlo SPECT simulations
upload_time2025-08-06 12:25:15
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseApache-2.0
keywords spect monte carlo medical imaging simind sirf stir
VCS
bugtrack_url
requirements numpy pydicom pyyaml
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # SIRF-SIMIND-Connection

[![Tests](https://github.com/samdporter/SIRF-SIMIND-Connection/workflows/Tests/badge.svg)](https://github.com/samdporter/SIRF-SIMIND-Connection/actions)
[![Documentation Status](https://readthedocs.org/projects/sirf-simind-connection/badge/?version=latest)](https://sirf-simind-connection.readthedocs.io/en/latest/?badge=latest)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![Python Version](https://img.shields.io/badge/python-3.8%2B-blue.svg)](https://www.python.org/downloads/)

A Python wrapper for SIRF and SIMIND integration for SPECT imaging.

## Quick Links
- [Full Documentation](https://SIRF-SIMIND-Connection.readthedocs.io/)
- [Installation](https://SIRF-SIMIND-Connection.readthedocs.io/en/latest/installation.html)

## Key Features
- Monte Carlo SPECT Simulation
- Dual Scoring Routines (SCATTWIN/PENETRATE)  
- DICOM to STIR Conversion
- **Advanced Schneider2000 Density Conversion** - Clinically validated HU-to-density mapping with 44 tissue segments

## Installation

```bash
pip install sirf-simind-connection
```

## Quick Start
```python
from sirf_simind_connection import SimindSimulator, SimulationConfig
from sirf_simind_connection.configs import get
from sirf_simind_connection.utils.stir_utils import create_simple_phantom, create_attenuation_map

# Create phantom and attenuation map
phantom = create_simple_phantom()
mu_map = create_attenuation_map(phantom)

# Load pre-configured scanner settings
config = SimulationConfig(get("AnyScan.yaml"))
simulator = SimindSimulator(config, output_dir='output')

# Set inputs and run
simulator.set_source(phantom)
simulator.set_mu_map(mu_map)
simulator.set_energy_windows([126], [154], [0])  # Tc-99m ± 10%
simulator.run_simulation()
```

### Advanced Density Conversion

```python
from sirf_simind_connection.converters.attenuation import hu_to_density_schneider
import numpy as np

# Convert HU image to densities using Schneider2000 model
hu_image = np.array([[-1000, 0, 500], [800, 1200, 2000]])
density_map = hu_to_density_schneider(hu_image)  # 44-segment clinical model
```

## Contributing
Please see our [Contributing Guide](CONTRIBUTING.md).

## License
Apache License 2.0

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "sirf-simind-connection",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "Sam Porter <sam.porter.18@ucl.ac.uk>",
    "keywords": "SPECT, Monte Carlo, medical imaging, SIMIND, SIRF, STIR",
    "author": null,
    "author_email": "Sam Porter <sam.porter.18@ucl.ac.uk>, Rebecca Gillen <rebecca.gillen.18@ucl.ac.uk>, \"Efstathios (Stahis) Varzakis\" <efstathios.varzakis.22@ucl.ac.uk>",
    "download_url": "https://files.pythonhosted.org/packages/cc/0e/c0e3967d79109a0a60bb67d89b8912619fb179b5c0d1c6efbd051420fc84/sirf_simind_connection-0.2.2.tar.gz",
    "platform": null,
    "description": "# SIRF-SIMIND-Connection\n\n[![Tests](https://github.com/samdporter/SIRF-SIMIND-Connection/workflows/Tests/badge.svg)](https://github.com/samdporter/SIRF-SIMIND-Connection/actions)\n[![Documentation Status](https://readthedocs.org/projects/sirf-simind-connection/badge/?version=latest)](https://sirf-simind-connection.readthedocs.io/en/latest/?badge=latest)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Python Version](https://img.shields.io/badge/python-3.8%2B-blue.svg)](https://www.python.org/downloads/)\n\nA Python wrapper for SIRF and SIMIND integration for SPECT imaging.\n\n## Quick Links\n- [Full Documentation](https://SIRF-SIMIND-Connection.readthedocs.io/)\n- [Installation](https://SIRF-SIMIND-Connection.readthedocs.io/en/latest/installation.html)\n\n## Key Features\n- Monte Carlo SPECT Simulation\n- Dual Scoring Routines (SCATTWIN/PENETRATE)  \n- DICOM to STIR Conversion\n- **Advanced Schneider2000 Density Conversion** - Clinically validated HU-to-density mapping with 44 tissue segments\n\n## Installation\n\n```bash\npip install sirf-simind-connection\n```\n\n## Quick Start\n```python\nfrom sirf_simind_connection import SimindSimulator, SimulationConfig\nfrom sirf_simind_connection.configs import get\nfrom sirf_simind_connection.utils.stir_utils import create_simple_phantom, create_attenuation_map\n\n# Create phantom and attenuation map\nphantom = create_simple_phantom()\nmu_map = create_attenuation_map(phantom)\n\n# Load pre-configured scanner settings\nconfig = SimulationConfig(get(\"AnyScan.yaml\"))\nsimulator = SimindSimulator(config, output_dir='output')\n\n# Set inputs and run\nsimulator.set_source(phantom)\nsimulator.set_mu_map(mu_map)\nsimulator.set_energy_windows([126], [154], [0])  # Tc-99m \u00b1 10%\nsimulator.run_simulation()\n```\n\n### Advanced Density Conversion\n\n```python\nfrom sirf_simind_connection.converters.attenuation import hu_to_density_schneider\nimport numpy as np\n\n# Convert HU image to densities using Schneider2000 model\nhu_image = np.array([[-1000, 0, 500], [800, 1200, 2000]])\ndensity_map = hu_to_density_schneider(hu_image)  # 44-segment clinical model\n```\n\n## Contributing\nPlease see our [Contributing Guide](CONTRIBUTING.md).\n\n## License\nApache License 2.0\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "A wrapper for SIRF and SIMIND for Monte Carlo SPECT simulations",
    "version": "0.2.2",
    "project_urls": {
        "Documentation": "https://sirf-simind-connection.readthedocs.io/",
        "Homepage": "https://github.com/samdporter/SIRF-SIMIND-Connection",
        "Issues": "https://github.com/samdporter/SIRF-SIMIND-Connection/issues",
        "Repository": "https://github.com/samdporter/SIRF-SIMIND-Connection"
    },
    "split_keywords": [
        "spect",
        " monte carlo",
        " medical imaging",
        " simind",
        " sirf",
        " stir"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a73069360afadcfc7df48e4ac9874afa051f346974fca39e1cfc670e0d486702",
                "md5": "dd35dd78962450cf497bd02a889c51a0",
                "sha256": "02b49491c0c335d7cee9dca2bb57846ad58ed1eedc4e78826ef7236854cad476"
            },
            "downloads": -1,
            "filename": "sirf_simind_connection-0.2.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "dd35dd78962450cf497bd02a889c51a0",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 63282,
            "upload_time": "2025-08-06T12:25:14",
            "upload_time_iso_8601": "2025-08-06T12:25:14.484231Z",
            "url": "https://files.pythonhosted.org/packages/a7/30/69360afadcfc7df48e4ac9874afa051f346974fca39e1cfc670e0d486702/sirf_simind_connection-0.2.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cc0ec0e3967d79109a0a60bb67d89b8912619fb179b5c0d1c6efbd051420fc84",
                "md5": "bcc11a5c80de19d7e946a66de203ed87",
                "sha256": "57062490e7323fba073601edf32c4ff8af40aef9ba86aaf973b057d4be154502"
            },
            "downloads": -1,
            "filename": "sirf_simind_connection-0.2.2.tar.gz",
            "has_sig": false,
            "md5_digest": "bcc11a5c80de19d7e946a66de203ed87",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 88626,
            "upload_time": "2025-08-06T12:25:15",
            "upload_time_iso_8601": "2025-08-06T12:25:15.429617Z",
            "url": "https://files.pythonhosted.org/packages/cc/0e/c0e3967d79109a0a60bb67d89b8912619fb179b5c0d1c6efbd051420fc84/sirf_simind_connection-0.2.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-06 12:25:15",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "samdporter",
    "github_project": "SIRF-SIMIND-Connection",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "numpy",
            "specs": [
                [
                    ">=",
                    "1.20.0"
                ]
            ]
        },
        {
            "name": "pydicom",
            "specs": [
                [
                    ">=",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "pyyaml",
            "specs": [
                [
                    ">=",
                    "5.4.0"
                ]
            ]
        }
    ],
    "lcname": "sirf-simind-connection"
}
        
Elapsed time: 1.89939s