界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
数据与研究 · SKILL.md

io-and-data

io-and-data

【数据与研究】Read and write SimpleITK images and transforms, choose ImageIO backends, discover DICOM series, inspect metadata, and validate safe IO round trips.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: io-and-data description: "Read and write SimpleITK images and transforms, choose ImageIO backends, discover DICOM series, inspect metadata, and validate safe IO round trips." disable-model-invocation: true metadata: disco-role: operating license: Apache 2.0

SimpleITK IO and Data

Use this sub-skill when a task mentions ReadImage, WriteImage, ImageFileReader, ImageFileWriter, ImageSeriesReader, DICOM series, metadata tags, ImageIO backends, transform IO, or file formats such as MHA, NRRD, NIfTI, PNG, TIFF, JPEG, and DICOM.

Route by Task

  • For procedural and object-oriented image reads/writes, outputPixelType, suffix choices, compression, explicit imageIO, and registered backend discovery, read image-io.
  • For DICOM directory discovery, series IDs, sorted filenames, metadata dictionaries, tag inspection, and multi-series pitfalls, read dicom-series.
  • For ReadTransform/WriteTransform workflows, transform format choices, and displacement-field storage caveats, read transform-io.
  • For missing ImageIO backends, empty DICOM discovery, directory-vs-file mistakes, lossy casts, compression surprises, and transform IO failures, read troubleshooting.
  • To validate an installed SimpleITK environment with generated data only, run io_roundtrip_smoke.py.

Core APIs

  • Import the Python package as import SimpleITK as sitk; the package distribution is simpleitk.
  • sitk.ReadImage(fileName, outputPixelType=-1, imageIO='') reads a single image file or an ordered filename sequence; use outputPixelType only for deliberate casts such as registration float inputs.
  • sitk.WriteImage(image, fileName, useCompression=False, compressionLevel=-1, *, imageIO='', compressor='') writes one image file or a filename sequence when writing a series.
  • sitk.ImageFileReader() and sitk.ImageFileWriter() provide SetFileName, SetImageIO, metadata probing, output pixel type selection, compression settings, and registered ImageIO discovery.
  • Discover ImageIO backends with sitk.ImageFileReader().GetRegisteredImageIOs() or sitk.ImageFileWriter().GetRegisteredImageIOs(); do not use a module-level helper for this.
  • sitk.ImageSeriesReader.GetGDCMSeriesIDs(directory) and sitk.ImageSeriesReader.GetGDCMSeriesFileNames(directory, seriesID) discover and sort DICOM slices before ImageSeriesReader.Execute() reads them.
  • sitk.ReadTransform(filename) and sitk.WriteTransform(transform, filename) round-trip transforms through supported transform IO formats.

Boundaries

  • For image construction, pixel containers, spacing/origin/direction fundamentals, indexing, and NumPy views, route to ../image-core/SKILL.md.
  • For filters, segmentation, intensity transforms, and algorithms that consume loaded images, route to ../filtering-segmentation/SKILL.md.
  • For registration-generated transforms, transform composition, resampling, displacement-field interpretation, and optimizer-specific output, route to ../registration-transforms/SKILL.md.
  • Optional ElastixImageFilter and TransformixImageFilter are build-dependent; do not assume they exist in a SimpleITK install.

Guardrails

  • Prefer .mha or .nrrd for deterministic smoke tests and metadata-preserving examples; avoid JPEG for pixel equality because it is lossy.
  • Use DICOM series discovery for directories; do not pass a directory to ReadImage and expect a volume.
  • Treat DICOM metadata as potentially identifying; inspect or copy only tags required by the task.
  • Keep runtime workflows self-contained; examples here use generated data or user-supplied paths and do not depend on the original repository checkout.
我的收藏