pydicom
Python library for working with DICOM (Digital Imaging and Communications in Medicine) files.
Skill by lamm-mit
Chalk Labs
Need help deploying pydicom?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/lamm-mit-pydicom
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: data, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions: not checked yet.
What's inside
- Skill name
pydicom- Description
- Python library for working with DICOM (Digital Imaging and Communications in Medicine) files. Use this skill when reading, writing, or modifying medical imaging data in DICOM format, extracting pixel data from medical images (CT, MRI, X-ray, ultrasound), anonymizing DICOM files, working with DICOM metadata and tags, converting DICOM images to other formats, handling compressed DICOM data, or processing medical imaging datasets. Applies to tasks involving medical image analysis, PACS systems, radiology workflows, and healthcare imaging applications.
- License
- Apache-2.0
- Metadata
- skill-author: K-Dense Inc.
- Instructions
- 427 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (9)
- SKILL.md
- common_tags.md · references/
- transfer_syntaxes.md · references/
- anonymize_dicom.cpython-313.pyc · scripts/__pycache__/
- dicom_to_image.cpython-313.pyc · scripts/__pycache__/
- extract_metadata.cpython-313.pyc · scripts/__pycache__/
- anonymize_dicom.py · scripts/
- dicom_to_image.py · scripts/
- extract_metadata.py · scripts/
SKILL.md (first lines)
# Pydicom
## Overview
Pydicom is a pure Python package for working with DICOM files, the standard format for medical imaging data. This skill provides guidance on reading, writing, and manipulating DICOM files, including working with pixel data, metadata, and various compression formats.
## When to Use This Skill
Use this skill when working with:
- Medical imaging files (CT, MRI, X-ray, ultrasound, PET, etc.)
- DICOM datasets requiring metadata extraction or modification
- Pixel data extraction and image processing from medical scans
- DICOM anonymization for research or data sharing
- Converting DICOM files to standard image formats
- Compressed DICOM data requiring decompression
- DICOM sequences and structured reports
- Multi-slice volume reconstruction
- PACS (Picture Archiving and Communication System) integration
## Installation
Install pydicom and common dependencies:
```bash
uv pip install pydicom
uv pip install pillow # For image format conversion
uv pip install numpy # For pixel array manipulation
uv pip install matplotlib # For visualization
```
For handling compressed DICOM files, additional packages may be needed:
```bash
uv pip install pylibjpeg pylibjpeg-libjpeg pylibjpeg-openjpeg # JPEG compression
uv pip install python-gdcm # Alternative compression handler
```
## Core Workflows
### Reading DICOM Files
Read a DICOM file using `pydicom.dcmread()`:
```python
import pydicom
# Read a DICOM file
ds = pydicom.dcmread('path/to/file.dcm')
# Access metadata
print(f"Patient Name: {ds.PatientName}")
print(f"Study Date: {ds.StudyDate}")
print(f"Modality: {ds.Modality}")
# Display all elements
print(ds)
```
**Key points:**
- `dcmread()` returns a `Dataset` object
- Access data elements using attribute notation (e.g., `ds.PatientName`) or tag notation (e.g., `ds[0x0010, 0x0010]`)
- Use `ds.file_meta` to access file metadata like Transfer Syntax UID
- Handle missing attributes with `getattr(ds, 'AttributeName', default_value)` or `hasattr(ds, 'AttributeName')`
### Working with Pixel Data
Extract and manipulate image data from DICOM files:
```python
import pydicom
import numpy as np
import matplotlib.pyplot as plt
# Read DICOM file
ds = pydicom.dcmread('image.dcm')
# Get pixel array (requires numpy)
pixel_array = ds.pixel_array
# Image information
print(f"Shape: {pixel_array.shape}")
print(f"Data type: {pixel_array.dtype}")
print(f"Rows: {ds.Rows}, Columns: {ds.Columns}")
# Apply windowing for display (CT/MRI)
if hasattr(ds, 'WindowCenter') and hasattr(ds, 'WindowWidth'):
from pydicom.pixel_data_handlers.util import apply_voi_lut
windowed_image = apply_voi_lut(pixel_array, ds)
else:
windowed_image = pixel_array
# Display image
plt.imshow(windowed_image, cmap='gray')
plt.title(f"{ds.Modality} - {ds.StudyDescription}")
plt.axis('off')
plt.show()
```
**Working with color images:**
```python
# RGB images have shape (rows, columns, 3)
if ds.PhotometricInterpretation == 'RGB':
rgb_image = ds.pixel_array
plt.imshow(rgb_image)
elif ds.PhotometricInterpretation == 'YBR_FULL':
from pydicom.pixel_data_handlers.util import convert_color_space
rgb_image = convert_color_space(ds.pixel_array, 'YBR_FULL', 'RGB')
plt.imshow(rgb_image)
```
**Multi-frame images (videos/series):**
```python
# For multi-frame DICOM files
if hasattr(ds, 'NumberOfFrames') and ds.NumberOfFrames > 1:
frames = ds.pixel_array # Shape: (num_frames, rows, columns)
print(f"Number of frames: {frames.shape[0]}")From lamm-mit/scienceclaw, Apache-2.0.
More from lamm-mit/scienceclaw
- 0.516score
drugbank-database
lamm-mit
Access and analyze comprehensive drug information from the DrugBank database including drug properties, interactions, targets, pathways, chemical structures…
SkillCFreshness: C★ 250Claude Code +9 - 0.516score
geometry-generator
lamm-mit
Generate parametric bioinspired ribbed membrane STL geometry via LLM-guided design.
SkillCFreshness: C★ 250Claude Code +9 - 0.516score
disease-research
lamm-mit
Generate comprehensive disease research reports using 100+ ToolUniverse tools.
SkillCFreshness: C★ 250Claude Code +9 - 0.516score
drug-research
lamm-mit
Generates comprehensive drug research reports with compound disambiguation, evidence grading, and mandatory completeness sections.
SkillCFreshness: C★ 250Claude Code +9 - 0.516score
fem-analysis
lamm-mit
Modal analysis of a membrane STL using Kirchhoff plate FEM (scipy eigensolver).
SkillCFreshness: C★ 250Claude Code +9 - 0.516score
generate-image
lamm-mit
Generate or edit images using AI models (FLUX, Gemini).
SkillCFreshness: C★ 250Claude Code +9 - 0.516score
ase
lamm-mit
Atomic Simulation Environment (ASE) for computational materials science.
SkillCFreshness: C★ 250Claude Code +9 - 0.516score
askcos
lamm-mit
Retrosynthetic template relevance prediction using a locally deployed ASKCOS TorchServe service.
SkillCFreshness: C★ 250Claude Code +9 - 0.516score
pylabrobot
lamm-mit
Vendor-agnostic lab automation framework.
SkillCFreshness: C★ 250Claude Code +9 - 0.516score
biorxiv-database
lamm-mit
Efficient database search tool for bioRxiv preprint server.
SkillCFreshness: C★ 250Claude Code +9 - 0.516score
esm
lamm-mit
Comprehensive toolkit for protein language models including ESM3 (generative multimodal protein design across sequence, structure, and function) and ESM C…
SkillCFreshness: C★ 250Claude Code +9 - 0.516score
jax-modal-analysis
lamm-mit
3D tetrahedral FEM modal analysis of a membrane STL.
SkillCFreshness: C★ 250Claude Code +9
Signals
- Stars
- 250
- Forks
- 47
- Open issues
- 1
- Last commit (this folder)
- Mar 14, 2026 (7 months ago)
- Last release
- Jun 23, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/lamm-mit/scienceclaw
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from lamm-mit
- 0.516score
biorxiv-database
lamm-mit
Efficient database search tool for bioRxiv preprint server.
SkillCFreshness: C★ 250Claude Code +9 - 0.516score
disease-research
lamm-mit
Generate comprehensive disease research reports using 100+ ToolUniverse tools.
SkillCFreshness: C★ 250Claude Code +9 - 0.516score
askcos
lamm-mit
Retrosynthetic template relevance prediction using a locally deployed ASKCOS TorchServe service.
SkillCFreshness: C★ 250Claude Code +9 - 0.516score
ase
lamm-mit
Atomic Simulation Environment (ASE) for computational materials science.
SkillCFreshness: C★ 250Claude Code +9 - 0.516score
pylabrobot
lamm-mit
Vendor-agnostic lab automation framework.
SkillCFreshness: C★ 250Claude Code +9 - 0.516score
drug-research
lamm-mit
Generates comprehensive drug research reports with compound disambiguation, evidence grading, and mandatory completeness sections.
SkillCFreshness: C★ 250Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get pydicom running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
pydicom skill. Agent Mart. https://agentmart.dev/skills/lamm-mit-pydicom (last updated 2026-10-24)