Releases: ImagingDataCommons/imaging-data-commons-skill
Releases · ImagingDataCommons/imaging-data-commons-skill
v1.6.5
Added
scripts/check_version.py(run first): installs the pinned author-vettedidc-indexminimum, then prints best-effort, notify-only notices when a neweridc-index(PyPI) or skill release (GitHub) is available — never auto-installs newer releases, silently skipped offline- "Keeping the Skill Up to Date" section in
USAGE.md(release notifications, per-surface update steps, fresh-conversation reminder); linked from README
Changed
- Replaced the inline startup version-check in
SKILL.mdwith a prominent pointer toscripts/check_version.py, keeping the code out of the model's context - Renamed repository references
idc-claude-skill→imaging-data-commons-skillacrossSKILL.md,README.md,USAGE.md - Pointed
tests/test_snippets.pyat the new script and added a guard that itsMIN_VERSION/SKILL_VERSIONmatch the SKILL.md frontmatter
Fixed
- Standardized the required
idc-indexon0.12.3(was0.12.2in the version-check vs0.12.3in frontmatter) and switched to numeric, not string, version comparison
What's Changed
- Add update notifications and rename repo references (v1.6.5) by @fedorov in #25
- Include CHANGELOG entry in release notes by @fedorov in #26
Full Changelog: v1.6.4...v1.6.5
v1.6.4
Changed
- Added version tracking guidance: "what's new in vX" workflow using
series_init_idc_version/series_revised_idc_versioninindex; clarifiedprior_versions_indexis for reproducibility only (zero overlap withindex, column names differ from main index version columns) - Collapsed five
SeriesInstanceUIDjoin rows into a single universal-key statement; table now covers only non-obvious join columns - Removed Installation and Setup section (duplicated the CRITICAL version-check block); folded optional deps into
ModuleNotFoundErrorTroubleshooting entry - Trimmed "Command-Line Download" inline section from ~60 lines to 5; full CLI coverage (
download-from-manifest,download-from-selection, all options) remains inreferences/cli_guide.md
Full Changelog: v1.6.3...v1.6.4
v1.6.3
Added
ct_index,mr_index,pt_indextables (idc-index 0.12.3 / idc-index-data 24.2.0): modality-specific acquisition and reconstruction parameter indices, one row per series, all joining onSeriesInstanceUIDct_index(21 columns): pixel spacing, slice thickness, kVp, convolution kernel, tube current min/max (dose-modulated), exposure, spiral pitch, scan optionsmr_index(22 columns): field strength, scanning sequence, TE (array for multi-echo), TR, flip angle, DiffusionBValue (array for DWI), pixel bandwidth, receive coil, number of temporal positionspt_index(21 columns): radionuclide, injected dose, reconstruction method, decay/scatter/attenuation correction, frame duration (array for dynamic PET), number of time slices
- SQL query patterns for all three new tables in
references/sql_patterns.md - Join column entries for
ct_index,mr_index,pt_indexinreferences/index_tables_guide.mdand SKILL.md - Parquet file entries for
ct_index.parquet,mr_index.parquet,pt_index.parquetinreferences/parquet_access_guide.md
Changed
- Added concrete
indices_overviewcode example showing how to search for a column across all tables and read column schemas without fetching the table; directly addresses the failure mode where agents queryindexfor modality-specific parameters (SliceThickness, KVP, etc.) instead of usingct_index/mr_index/pt_index - Added troubleshooting entry "Column not found in
indextable" with a workingindices_overviewsearch snippet and join example, covering common acquisition/reconstruction parameters that live in the modality-specific index tables - Updated idc-index reference to 0.12.3
- Clarified
download_from_selectionAPI: added explicit warning that it takes filter keyword arguments (not a DataFrame), comparison table vsdownload_dicom_series(which has a different first-argument order), and restructured the download example as a step-by-step query → extract UIDs → pass list flow - Documented
download_dicom_seriesas an alternative download method with its own signature (seriesInstanceUIDas first arg, thendownloadDir) - Reduced redundancy and duplication in SKILL.md for cleaner reading
Full Changelog: v1.6.2...v1.6.3
v1.6.2
Changed
- Moved
version_metadata_indexto second position in Available Tables (right afterindex) to surface it alongside the primary index - Moved
prior_versions_indexto last position in Available Tables; updated description to clarify it contains only removed/superseded series and should not be queried for current data - Added explicit Best Practices rule prohibiting web search for IDC data content questions; idc-index DuckDB queries are always authoritative — web sources are stale
- Removed "Loaded" column from Available Tables and replaced with an unconditional rule: always call
client.fetch_index("table_name")before querying any table;fetch_index()is idempotent for all tables including auto-loaded ones, so no exceptions are needed
Full Changelog: v1.6.1...v1.6.2
v1.6.1
Added
series_init_idc_versionandseries_revised_idc_versioncolumns in primaryindextable (idc-index-data 24.1.0): expose the IDC version when each series was first added and last revised, enabling version-aware filteringversion_metadata_indextable: maps each IDC version number to its release timestamp; requiresclient.fetch_index("version_metadata_index")- Tests for new index columns and
version_metadata_index(61 total, up from 55)
Changed
- Updated to idc-index 0.12.2 (idc-index-data 24.1.0); IDC data version remains v24
analysis_results_indexcolumn renames (idc-index-data 24.1.0):Updated→updated,Description→description
Full Changelog: v1.6.0...v1.6.1
v1.6.0
Added
tests/test_bq_snippets.py: BigQuery snippet validation usingbq query --dry_run— 33 tests covering all SQL examples inreferences/bigquery_guide.md(dicom_all, original_collections_metadata, segmentations, quantitative_measurements, qualitative_measurements, private elements, and clinical tables); skips automatically whenbqCLI is unavailable or unauthenticated
Security
- Fixed auto-upgrade subprocess call to pin
idc-indextoREQUIRED_VERSION(was"idc-index", nowf"idc-index=={REQUIRED_VERSION}"), ensuring the installed version always matches the tested version declared in the frontmatter - Added network access transparency note to Overview documenting expected external endpoints (GCS, S3, BigQuery, DICOMweb proxy, Google Healthcare API) and clarifying that no credentials or environment variables are accessed by the skill
- Added tested-with version comment to optional dependency install block (
pandas>=1.5, numpy>=1.23, pydicom>=2.3)
Changed
- Updated frontmatter description to be directive about skill triggering: now explicitly instructs invocation for IDC-related queries even without the word "IDC" in the prompt
- Extracted "Batch Processing and Filtering" (section 6) from SKILL.md to
references/use_cases.md(Use Case 5); replaced inline code block with a 2-sentence summary and pointer - Extracted "Integration with Analysis Pipelines" (section 9) from SKILL.md to
references/use_cases.md(Use Case 6); replaced inline pydicom/SimpleITK code blocks with a 2-sentence summary and pointer - SKILL.md reduced from 865 → 775 lines (−90 lines);
references/use_cases.mdexpanded from 187 → 278 lines - Updated to idc-index 0.12.1 (idc-index-data 24.0.4, IDC data version v24)
- IDC v24 adds 15 new collections (161 → 176), ~39K new series, ~4 TB new data (99.27 TB total, 85,682 cases)
- Updated
collections_indexcolumn names to snake_case (idc-index-data 24.0.0 breaking change):
CancerTypes→cancer_types,TumorLocations→tumor_locations,
Subjects→subjects,Species→species,Sources→sources,
SupportingData→supporting_data,Program→program_id - Updated
analysis_results_indexcolumn names to snake_case (idc-index-data 24.0.4 breaking change):
Subjects→subjects,Collections→collections,Modalities→modalities
Full Changelog: v1.5.0...v1.6.0
v1.5.0
Added
volume_geometry_indextable documentation: 3D geometry validation for single-frame CT, MR, and PT series; boolean checks (orientation, spacing, dimensions, slice positions) and compositeregularly_spaced_3d_volumeflag; join viaSeriesInstanceUIDrtstruct_indextable documentation: RT Structure Set metadata (total ROIs, ROI names, generation algorithms, interpreted types, referenced image series UID); join viaSeriesInstanceUID- New reference guide
references/parquet_access_guide.md: direct DuckDB queries against public GCS Parquet files without installing idc-index; URL pattern, available files, and query examples for main index,volume_geometry_index, andrtstruct_index - SQL patterns for
volume_geometry_indexandrtstruct_indexinreferences/sql_patterns.md - Detailed documentation for BigQuery-only derived tables in
references/bigquery_guide.md:segmentations: per-segment anatomy with full schema, column descriptions, and queries for discovering structures, filtering by coded concept, and linking to SR measurements; note on gap vsseg_indexin idc-indexquantitative_measurements: radiomics and clinical numeric measurements from DICOM SR TID1500 (volume, diameter, shape descriptors, texture, intensity statistics); full schema with column descriptions and query examplesqualitative_measurements: coded assessments from DICOM SR TID1500 (malignancy rating, calcification, texture, margin); full schema with column descriptions and query examplesmeasurement_groups: parent grouping table for SR measurements- Combined example joining all three derived tables for LIDC-IDRI nodule analysis (malignancy + volume + diameter)
- SKILL.md section 7 now explicitly lists per-segment anatomy search, quantitative SR measurements, and qualitative SR measurements as BigQuery-only use cases with no idc-index equivalent
Changed
- Updated to idc-index 0.11.14 (idc-index-data 23.10.1)
- Added
SOPClassUIDandTransferSyntaxUIDcolumns to Key Columns Reference inreferences/index_tables_guide.md - Added Direct Parquet Access entry to Data Access Options table and pointer in SKILL.md
- Added
parquet_access_guide.mdto Quick Navigation table in SKILL.md
Full Changelog: v1.4.0...v1.5.0
v1.4.0
Added
- New "Identifying Tumor vs Normal Slides" section in digital pathology guide with two approaches:
- Structured DICOM tissue type via
primaryAnatomicStructureModifier_CodeMeaning(works across all SM collections) - TCGA barcode parsing via
ContainerIdentifier(TCGA collections only, catches metastatic edge cases)
- Structured DICOM tissue type via
- TCGA-BRCA worked examples showing tumor vs normal slide counts
- Documentation references to GDC TCGA barcode format and sample type codes
- Specimen preparation query examples: filtering by staining (H&E), embedding medium (FFPE vs frozen), and fixative, with note about array column syntax (
array_to_string,list_contains) - "Finding Pre-Computed Analysis Results" section: discovering derived datasets (nuclei segmentations, TIL maps) via
analysis_results_index, with example joining annotations back to source slides - Note about per-annotation measurements in DICOM ANN objects (extractable via highdicom after download), with link to microscopy_dicom_ann_intro tutorial
Changed
- Updated to idc-index 0.11.10 (adds
ContainerIdentifiercolumn tosm_index) - Updated
sm_indextable description to reflect newly available columns (container/slide ID, tissue type, anatomic structure, diagnosis)
Full Changelog: v1.3.1...v1.4.0
v1.3.1
Added
- Automatic idc-index package version check with upgrade prompt before any queries
- Version check compares installed version against
metadata.idc-indexin frontmatter and triggerspip install --upgradewhen outdated
Fixed
- Prevents "table not found" errors when using newer index tables (e.g.,
contrast_index) with older idc-index versions
Full Changelog: v.1.3.0...v1.3.1
v1.3.0
Added
- Digital pathology reference guide (
references/digital_pathology_guide.md) with SM, ANN, and SEG query patterns, join examples, and pathology tool recommendations seg_indexcoverage in digital pathology guide with cross-domain clarification (SEG used for both radiology and pathology) and query for finding pathology-specific segmentationsAnnotationGroupLabelfiltering examples for finding annotation groups by name- SM + ANN cross-reference queries showing how to find annotations on slide microscopy images
- Index discovery guidance before BigQuery section to ensure all local indices are checked first
- Documentation for new
ann_indexandann_group_indextables (Microscopy Bulk Simple Annotations) - Example queries for annotation series and annotation group metadata
- Explanation of downloaded DICOM file naming convention (
<crdc_instance_uuid>.dcm) - New reference guides extracted from SKILL.md:
references/index_tables_guide.md- Table schemas, DataFrame access, join column referencereferences/sql_patterns.md- Quick-reference SQL patterns for common queriesreferences/use_cases.md- End-to-end workflow examples
- Quick Navigation section in SKILL.md with decision triggers for when to load each reference
idc-data-versionfield in frontmatter metadata- Documentation for new
contrast_indextable (contrast bolus metadata for CT, MR, PT, XA, RF series)
Changed
- Updated to idc-index 0.11.9 (IDC data version v23)
- Reduced SKILL.md from 1,245 to 825 lines by extracting secondary content to reference files
- Core Capabilities sections remain inline to ensure correct API pattern usage
- Refactored detailed SM/ANN content from SKILL.md into
references/digital_pathology_guide.md, keeping brief summaries with pointers in main skill - Made IDC version (v23) more prominent in SKILL.md with verification guidance to prevent responses using older versions
- Clarified distinction between
index_tables_guide.md(structure/access) andsql_patterns.md(query examples)
Full Changelog: v1.2.0...v.1.3.0