pydicom

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.

Install

Hot:6

Download and extract to your skills directory

Copy command and send to AI Agent for auto-install:

Download and install this skill https://openskills.cc/api/download?slug=k-dense-ai-skills-pydicom&locale=en&source=copy

pydicom - Python DICOM Medical Imaging Processing Skills

Skill Overview


The pydicom skill provides end-to-end guidance for processing DICOM medical imaging files. It covers the full workflow, from basic DICOM file read/write and pixel data extraction to medical image anonymization, format conversion, and compressed data processing.

Use Cases

1. Medical Imaging Data Research and Analysis


Suitable for researchers and data scientists working with various medical imaging modalities such as CT, MRI, X-ray, ultrasound, PET, and more. It supports batch reading of DICOM file series, building 3D volume data, extracting key image features and metadata, and providing data preprocessing support for training medical AI models.

2. Integration and Development for Healthcare Information Systems


Designed for medical software developers and PACS (Picture Archiving and Communication System) integration engineers. It offers standardized DICOM file format processing solutions, including importing/exporting image data, modifying metadata, converting compression formats, and supports automation of radiology workflows and development of hospital imaging systems.

3. Medical Data Compliance and Sharing


For research scenarios that require sharing medical imaging data, it provides DICOM file anonymization capabilities. It automatically removes or replaces sensitive patient information (PHI), including names, IDs, dates of birth, physician information, and more, to ensure compliance with medical data privacy protection requirements.

Core Features

1. DICOM File Read/Write and Metadata Operations


Provides comprehensive DICOM file parsing and processing capabilities, supporting:
  • Reading DICOM files with pydicom.dcmread() and accessing the dataset

  • Accessing any DICOM tag via attribute symbols or tag symbols

  • Modifying metadata such as patient information, study date, and series description

  • Handling DICOM series and nested data structures

  • Creating entirely new DICOM files and generating standard UIDs
  • 2. Medical Image Pixel Data Processing


    Supports extracting and processing medical image pixel data in various formats:
  • Converting DICOM pixel data into NumPy arrays for analysis

  • Handling monochrome, RGB, YBR, and other color-space images

  • Applying VOI LUT windowing to optimize CT/MRI image display

  • Processing multi-frame DICOM files (dynamic imaging, video sequences)

  • Preserving spatial information such as pixel spacing and slice thickness for 3D reconstruction
  • 3. Medical Image Format Conversion and Compression Processing


    Provides flexible DICOM image conversion and compression processing solutions:
  • Converting DICOM images to common formats such as PNG, JPEG, and TIFF

  • Handling compressed DICOM files such as JPEG, JPEG 2000, and RLE

  • Supporting conversion between lossy and lossless compression formats

  • Batch processing large medical imaging datasets

  • Handling memory-intensive multi-series image data
  • Common Questions

    What is pydicom? What is it mainly used for?


    pydicom is a DICOM medical imaging file processing library written purely in Python. DICOM (Digital Imaging and Communications in Medicine) is an industry-standard medical imaging format. pydicom is mainly used for medical imaging data analysis, healthcare information system development, PACS integration, radiology workflow automation, and more. It supports reading, processing, and converting various medical imaging formats such as CT, MRI, X-ray, and ultrasound.

    How do I read and process DICOM files in Python?


    Use pydicom.dcmread('file_path') to read a DICOM file. The returned Dataset object contains all metadata. Access tags via attribute symbols (e.g., ds.PatientName), and use ds.pixel_array to obtain the image data. For compressed files, additional processing libraries may be required. After processing, you can save the modified file using ds.save_as().

    How can I safely anonymize patient information in DICOM files?


    The pydicom skill provides a complete DICOM anonymization solution. By identifying and processing tags that contain sensitive patient information (such as PatientName, PatientID, PatientBirthDate, ReferringPhysicianName, etc.), you can delete or replace those fields. The skill includes a ready-to-use anonymization script anonymize_dicom.py, and you can also define custom anonymization rules. Before sharing data, be sure to verify the anonymization results.

    What medical imaging modalities and compression formats does pydicom support?


    pydicom supports all medical imaging modalities defined by the DICOM standard, including CT, MRI, X-ray (radiography/fluoroscopy/angiography), ultrasound, PET, nuclear medicine, and more. Compression formats include multiple transfer syntaxes such as Explicit VR Little Endian (uncompressed), JPEG Baseline, JPEG Lossless, JPEG 2000, and RLE. Handling compressed files may require installing additional libraries such as pylibjpeg or python-gdcm.

    How do I convert DICOM images to common image formats?


    After reading a DICOM file with pydicom, use pixel_array to get the image data, normalize it to the 0–255 range, and then save it as PNG, JPEG, or other formats using the PIL/Pillow library. The skill provides a dicom_to_image.py script that you can use directly. For CT/MRI images, it’s recommended to apply VOI LUT windowing first to achieve better visual results.

    What should I do if I run into memory issues when processing large DICOM series?


    When processing large medical imaging series, you can use strategies such as batch/iterative processing, memory-mapped arrays, or image downsampling. The pydicom skill recommends using pathlib to traverse directories containing DICOM files, sorting by slice position or instance number, and processing one by one—avoiding loading all image data into memory at once. For 3D reconstruction, you can use NumPy’s memory-mapping capabilities.