dicom.lens

An open source application for machine learning analysis of DICOM images to support cancer research.

https://github.com/whoisclebs/dicom.lens

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.1%) to scientific vocabulary

Keywords

collaborate dicom machine-learning

Keywords from Contributors

interactive mesh interpretability profiles sequences generic projection standardization optim embedded
Last synced: 6 months ago · JSON representation ·

Repository

An open source application for machine learning analysis of DICOM images to support cancer research.

Basic Info
  • Host: GitHub
  • Owner: whoisclebs
  • License: mit
  • Language: JavaScript
  • Default Branch: main
  • Homepage:
  • Size: 67.7 MB
Statistics
  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 1
Topics
collaborate dicom machine-learning
Created over 3 years ago · Last pushed 10 months ago
Metadata Files
Readme Contributing Funding License Code of conduct Citation

README.md

DicomLens

Open‑source platform for medical image analysis and cancer detection

License CI Status Documentation


Table of Contents


About

DicomLens is an open‑source framework for analyzing DICOM medical images using machine learning. Initially focused on breast cancer detection, its modular design supports extension to multiple imaging tasks and seamless integration between training, exploration, and deployment.

Features

  • Binary classification of scans (e.g., healthy vs. cancer)
  • Modular CLI: train.py for production‑ready training
  • Exploration Notebook: interactive prototyping with Jupyter
  • Web API: Node.js backend under web/api for serving predictions
  • Frontend: React/Vite dashboard under web/front
  • CI/CD: Automated model training and API deployment workflows

Architecture

├── .github/ # GitHub Actions & workflows ├── .husky/ # Git hooks ├── ml/ │ ├── data/ # (gitignored) raw DICOM dataset │ ├── notebooks/ # Jupyter notebooks (exploration.ipynb) │ ├── scripts/ # CLI scripts: │ │ ├── fetch_data.sh # pulls DICOMs from external storage │ │ └── train.py # training entrypoint │ └── models/ # (gitignored) trained artifacts ├── packages/ # shared libraries/modules ├── web/ │ ├── api/ # Node.js prediction API │ └── front/ # React/Vite frontend dashboard ├── CODE_OF_CONDUCT.md # Contribution guidelines ├── CONTRIBUTING.md # How to contribute ├── CITATION.cff # Citation metadata ├── LICENSE # MIT License └── README.md # Project overview (this file)

Getting Started

Prerequisites

  • Python 3.8+ (and pip)
  • Node.js 16+ (and npm)
  • (Optional) Docker & Docker Compose

Installation

  1. Clone the repo bash git clone https://github.com/yourusername/dicom.lens.git cd dicomlens

  2. Python setup bash cd ml python -m venv venv source venv/bin/activate pip install -r scripts/requirements.txt

  3. Node.js setup bash cd ../web/api npm install

  4. Frontend setup bash cd ../front npm install

  5. Data ingestion bash cd ../../ml/scripts ./fetch_data.sh # pulls raw DICOMs into ../data/

Usage

Training a Model

Run the CLI to train and save a model: bash cd ml/scripts python train.py \ --data-dir ../data \ --output ../models/v1 \ --img-size 224 224 \ --batch-size 32 \ --epochs 20 Artifacts (best_model.h5, SavedModel) appear under ml/models/v1/.

Exploration Notebook

For interactive prototyping: bash cd ml/notebooks jupyter notebook exploration.ipynb Use this to visualize samples, tune augmentations, and inspect metrics.

API & Frontend

  1. Configure API: in web/api/.env, set: env MODEL_URL=https://storage.example.com/models/v1/model.json
  2. Start API: bash cd web/api npm start
  3. Start Frontend: bash cd web/front npm run dev Visit the dashboard (default http://localhost:3000).

Contributing

We welcome contributions! Please: 1. Fork the repo 2. Create a branch (feature/xxx) 3. Submit a PR with tests/docs

See CONTRIBUTING.md and our Code of Conduct.

License

This project is released under the MIT License. See LICENSE for details.

Owner

  • Name: Clebson Augusto Fonseca
  • Login: whoisclebs
  • Kind: user
  • Location: 0.0.0.0
  • Company: Phoebus

Open Source🚀

Citation (CITATION.cff)

cff-version: 1.1.0
title: An open source application for machine learning analysis of DICOM images to support cancer research.
abstract: This application provides an interface to classify MRIs between healthy and cancerous.
message: "If you use this software, please cite it as below."
authors:
  - family-names: Fonseca
    given-names: Clebson
    orcid: https://orcid.org/0000-0003-4076-9650
  - family-names: Queiroz
    given-names: Breno
  - family-names: Souza
    given-names: Joyce
  - family-names: Medeiros
    given-names: Annielle
version: 0.0.1
date-released: 2022-11-05
doi: 10.5281/zenodo.7295045
repository-code: https://github.com/clebsonf/ld.health
references:
- type: software
  title: Citation File Format
  authors:
      - family-names: Fonseca
        given-names: Clebson
        orcid: https://orcid.org/0000-0003-4076-9650
      - family-names: Queiroz
        given-names: Breno
      - family-names: Souza
        given-names: Joyce
      - family-names: Medeiros
        given-names: Annielle
license: MIT

GitHub Events

Total
  • Delete event: 12
  • Issue comment event: 11
  • Public event: 1
  • Push event: 9
  • Pull request event: 15
  • Create event: 2
Last Year
  • Delete event: 12
  • Issue comment event: 11
  • Public event: 1
  • Push event: 9
  • Pull request event: 15
  • Create event: 2

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 44
  • Total Committers: 4
  • Avg Commits per committer: 11.0
  • Development Distribution Score (DDS): 0.545
Past Year
  • Commits: 10
  • Committers: 2
  • Avg Commits per committer: 5.0
  • Development Distribution Score (DDS): 0.3
Top Committers
Name Email Commits
Clebson 4****f 20
clebsonf c****o@d****r 16
sharadiaka b****a@d****r 4
dependabot[bot] 4****] 4
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 9 months ago

All Time
  • Total issues: 0
  • Total pull requests: 18
  • Average time to close issues: N/A
  • Average time to close pull requests: about 1 year
  • Total issue authors: 0
  • Total pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.94
  • Merged pull requests: 5
  • Bot issues: 0
  • Bot pull requests: 17
Past Year
  • Issues: 0
  • Pull requests: 4
  • Average time to close issues: N/A
  • Average time to close pull requests: 4 months
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.25
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 4
Top Authors
Issue Authors
Pull Request Authors
  • dependabot[bot] (29)
  • whoisclebs (1)
Top Labels
Issue Labels
Pull Request Labels
dependencies (29) javascript (3) python (1)

Dependencies

.github/workflows/codeql.yml actions
  • actions/checkout v3 composite
  • github/codeql-action/analyze v3 composite
  • github/codeql-action/autobuild v3 composite
  • github/codeql-action/init v3 composite
.github/workflows/dependency-review.yml actions
  • actions/checkout v3 composite
  • actions/dependency-review-action v2 composite
package-lock.json npm
  • 679 dependencies
package.json npm
  • @commitlint/cli ^17.1.2 development
  • @commitlint/config-conventional ^17.1.0 development
  • husky ^8.0.1 development
  • lint-staged ^11.1.2 development
web/api/package.json npm
  • eslint ^7.32.0 development
  • eslint-plugin-import ^2.24.2 development
  • eslint-plugin-node ^11.1.0 development
  • eslint-plugin-promise ^5.1.0 development
  • eslint-plugin-standard ^5.0.0 development
  • jest ^29.1.2 development
  • express ^4.18.2
web/front/package.json npm
  • autoprefixer ^10.4.13 development
  • eslint 8.26.0 development
  • eslint-config-next 13.0.1 development
  • postcss ^8.4.18 development
  • tailwindcss ^3.2.1 development
  • next 14.2.26
  • react 18.2.0
  • react-dom 18.2.0