# ASOCT-MCD: Minuscule Cell Detection in AS-OCT Images
A Python package for detecting minuscule cells in Anterior Segment Optical Coherence Tomography (AS-OCT) medical images.
## Installation
```bash
pip install asoct-mcd
```
## Basic Usage
```python
from asoct_mcd.pipeline import MCDPipelineBuilder
# Create pipeline with default settings
pipeline = MCDPipelineBuilder().build()
# Detect cells in image
result = pipeline.detect_cells("image.png")
# Print results
print(f"Detected {result.cell_count} cells")
print(f"Cell locations: {result.cell_locations}")
```
## Custom Configuration
```python
# Using dictionary configuration
config = {
"threshold": {"lambda_factor": 0.9, "method": "isodata"},
}
pipeline = MCDPipelineBuilder().from_dict(config).build()
result = pipeline.detect_cells("image.png")
```
```python
# Using YAML configuration
pipeline = MCDPipelineBuilder().from_yaml("your_config.yaml").build()
result = pipeline.detect_cells("image.png")
```
## Model Storage and Management
Default Model Storage Locations
The ASOCT-MCD package automatically downloads and manages pre-trained models. Models are cached locally following standard ML library conventions:
Default Cache Directories
Linux/macOS:
```
~/.cache/asoct_mcd/models/
├── sam_vit_b_01ec64.pth # SAM ViT-B segmentation model (~375MB)
└── spatial_attention_network.pth # Cell classification model (~1MB)
```
Windows:
```
C:\Users\<username>\.cache\asoct_mcd\models\
├── sam_vit_b_01ec64.pth # SAM ViT-B segmentation model (~375MB)
└── spatial_attention_network.pth # Cell classification model (~1MB)
```
## Requirements
- Python >= 3.9
- See requirements.txt for full list
## Citation
arXiv: https://arxiv.org/abs/2503.12249
To cite MCD in publications, please use:
```bibtex
@article{chen2025minuscule,
title={Minuscule Cell Detection in AS-OCT Images with Progressive Field-of-View Focusing},
author={Boyu Chen, Ameenat L. Solebo, Daqian Shi, Jinge Wu, Paul Taylor},
year={2025},
journal={arXiv preprint arXiv:2503.12249}
}
```
## Acknowledgements
Thanks to the support of AWS Doctoral Scholarship in Digital Innovation, awarded through the UCL Centre for Digital Innovation. We thank them for their generous support.


Raw data
{
"_id": null,
"home_page": null,
"name": "asoct-mcd",
"maintainer": "B. Chen",
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "medical-imaging, cell-detection, optical-coherence-tomography, computer-vision, deep-learning",
"author": "B. Chen",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/4b/b8/88615a06a203715d9ac29ecdf64f376e461d71d9f211322e5412049c1e64/asoct_mcd-0.2.1.tar.gz",
"platform": null,
"description": "# ASOCT-MCD: Minuscule Cell Detection in AS-OCT Images\r\n\r\nA Python package for detecting minuscule cells in Anterior Segment Optical Coherence Tomography (AS-OCT) medical images.\r\n\r\n## Installation\r\n\r\n```bash\r\npip install asoct-mcd\r\n```\r\n\r\n## Basic Usage\r\n\r\n```python\r\nfrom asoct_mcd.pipeline import MCDPipelineBuilder\r\n\r\n# Create pipeline with default settings\r\npipeline = MCDPipelineBuilder().build()\r\n\r\n# Detect cells in image\r\nresult = pipeline.detect_cells(\"image.png\")\r\n\r\n# Print results\r\nprint(f\"Detected {result.cell_count} cells\")\r\nprint(f\"Cell locations: {result.cell_locations}\")\r\n```\r\n\r\n## Custom Configuration\r\n\r\n```python\r\n# Using dictionary configuration\r\nconfig = {\r\n \"threshold\": {\"lambda_factor\": 0.9, \"method\": \"isodata\"},\r\n}\r\n\r\npipeline = MCDPipelineBuilder().from_dict(config).build()\r\nresult = pipeline.detect_cells(\"image.png\")\r\n```\r\n\r\n```python\r\n# Using YAML configuration\r\npipeline = MCDPipelineBuilder().from_yaml(\"your_config.yaml\").build()\r\nresult = pipeline.detect_cells(\"image.png\")\r\n```\r\n\r\n\r\n## Model Storage and Management\r\nDefault Model Storage Locations\r\nThe ASOCT-MCD package automatically downloads and manages pre-trained models. Models are cached locally following standard ML library conventions:\r\nDefault Cache Directories\r\nLinux/macOS:\r\n```\r\n~/.cache/asoct_mcd/models/\r\n\u251c\u2500\u2500 sam_vit_b_01ec64.pth # SAM ViT-B segmentation model (~375MB)\r\n\u2514\u2500\u2500 spatial_attention_network.pth # Cell classification model (~1MB)\r\n```\r\nWindows:\r\n```\r\nC:\\Users\\<username>\\.cache\\asoct_mcd\\models\\\r\n\u251c\u2500\u2500 sam_vit_b_01ec64.pth # SAM ViT-B segmentation model (~375MB)\r\n\u2514\u2500\u2500 spatial_attention_network.pth # Cell classification model (~1MB)\r\n```\r\n\r\n## Requirements\r\n- Python >= 3.9\r\n- See requirements.txt for full list\r\n\r\n## Citation\r\n\r\narXiv: https://arxiv.org/abs/2503.12249\r\n\r\nTo cite MCD in publications, please use:\r\n\r\n```bibtex\r\n@article{chen2025minuscule,\r\n title={Minuscule Cell Detection in AS-OCT Images with Progressive Field-of-View Focusing}, \r\n author={Boyu Chen, Ameenat L. Solebo, Daqian Shi, Jinge Wu, Paul Taylor},\r\n year={2025},\r\n journal={arXiv preprint arXiv:2503.12249}\r\n}\r\n\r\n```\r\n## Acknowledgements\r\nThanks to the support of AWS Doctoral Scholarship in Digital Innovation, awarded through the UCL Centre for Digital Innovation. We thank them for their generous support.\r\n\r\n\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Minuscule Cell Detection in AS-OCT Medical Images",
"version": "0.2.1",
"project_urls": {
"github": "https://github.com/joeybyc/MCD"
},
"split_keywords": [
"medical-imaging",
" cell-detection",
" optical-coherence-tomography",
" computer-vision",
" deep-learning"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "616198ef6cc32520a501e3bfe015acf90dd5faf24322af83deaff14801364c64",
"md5": "907db8b9af4dc29a6660684b169b1204",
"sha256": "fb36107648a529992f938a69742a886aca26f2d4d4c312ba9837b38d02efdd40"
},
"downloads": -1,
"filename": "asoct_mcd-0.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "907db8b9af4dc29a6660684b169b1204",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 39663,
"upload_time": "2025-09-19T15:36:47",
"upload_time_iso_8601": "2025-09-19T15:36:47.593705Z",
"url": "https://files.pythonhosted.org/packages/61/61/98ef6cc32520a501e3bfe015acf90dd5faf24322af83deaff14801364c64/asoct_mcd-0.2.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4bb888615a06a203715d9ac29ecdf64f376e461d71d9f211322e5412049c1e64",
"md5": "cc1d8b5dd7c9777d9a71373835abd288",
"sha256": "ec267b281a76aee714081a8cc541a0c840752876e0e135d375080ea550e2d0b0"
},
"downloads": -1,
"filename": "asoct_mcd-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "cc1d8b5dd7c9777d9a71373835abd288",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 24722,
"upload_time": "2025-09-19T15:36:48",
"upload_time_iso_8601": "2025-09-19T15:36:48.867396Z",
"url": "https://files.pythonhosted.org/packages/4b/b8/88615a06a203715d9ac29ecdf64f376e461d71d9f211322e5412049c1e64/asoct_mcd-0.2.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-19 15:36:48",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "joeybyc",
"github_project": "MCD",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "numpy",
"specs": [
[
"==",
"1.26.3"
]
]
},
{
"name": "matplotlib",
"specs": [
[
"==",
"3.8.2"
]
]
},
{
"name": "pandas",
"specs": [
[
"==",
"2.1.4"
]
]
},
{
"name": "opencv-python",
"specs": [
[
"==",
"4.9.0.80"
]
]
},
{
"name": "torch",
"specs": [
[
"==",
"2.1.2"
]
]
},
{
"name": "torchvision",
"specs": [
[
"==",
"0.16.2"
]
]
},
{
"name": "scikit-image",
"specs": [
[
"==",
"0.22.0"
]
]
},
{
"name": "scikit-learn",
"specs": [
[
"==",
"1.4.0"
]
]
},
{
"name": "yacs",
"specs": [
[
"==",
"0.1.8"
]
]
},
{
"name": "segment-anything",
"specs": [
[
"==",
"1.0"
]
]
}
],
"lcname": "asoct-mcd"
}