ct-series-selection-audit is a deterministic, dependency-free command-line
tool for auditing four prespecified CT series-selection specifications from
structured metadata. It does not download data, open DICOM pixels, inspect
clinical outcomes, transmit telemetry or recommend a clinically correct series.
For each collection-scoped patient key, the tool:
- constructs one candidate per unique
SeriesInstanceUID; - applies the frozen series-level reducers to duplicate metadata variants;
- records each operator's eligible candidate set and complete argopt set;
- applies the frozen lexicographic tie-break;
- reports selected-UID non-invariance, StudyUID scope, vote partition, mechanism reason code and U4/M3 review routing;
- writes a version-locked JSONL manifest.
- O0: maximize positive frozen series-level
instance_count. - O1: minimize positive frozen reported nominal
SliceThickness. - O2: minimize positive frozen curated
min_PixelSpacing. - O3: maximize
instance_count × reported nominal SliceThickness.
O3 is a reported-tag product heuristic, not position-derived or anatomical coverage. Instance count is not sampling density. No operator is declared correct or superior.
python -m venv .venv
.venv/Scripts/python -m pip install --no-index --no-deps ct_series_selection_audit-1.0.3-py3-none-any.whlOn POSIX systems, use .venv/bin/python.
ct-series-selection-audit --input examples/synthetic_input.tsv --output-dir output --repository-release synthetic-release --source-collection synthetic_collection --source-collection-version v1 --execution-date 2026-07-27T00:00:00+00:00The fixed execution date is optional but required for byte-identical manifests.
Version 1.0.3 writes the five scientific outputs with LF bytes on Windows and
POSIX systems. environment_sha256 is a platform-stable execution-contract
hash. Use --runtime-environment-out PATH only when a separate, volatile
Python/OS sidecar is required.
candidate_series.tsv: local series-level audit table; may contain supplied Study/Series UIDs and must be handled according to the source data terms.selection_envelope.tsv: pseudonymized patient-version audit states.version_locked_selection_manifest.jsonl: exact local selection manifest.excluded_rows.tsv: excluded structured rows and reason codes.audit_summary.tsv: technical counts and zero-access assertions.
See docs/INPUT_CONTRACT.md, docs/OPERATOR_CONTRACT.md,
docs/OUTPUT_CONTRACT.md, docs/PRIVACY_AND_RELEASE.md and
docs/REPRODUCIBILITY.md. RELEASE_MANIFEST.tsv records repository-relative
paths, byte sizes and SHA256 identities; it intentionally contains no local
absolute paths.
- Peng Liang — sole software author, copyright holder and maintainer; Graduate Training Base, Wenzhou Medical University, Oujiang Laboratory, Wenzhou, Zhejiang, China; ORCID: https://orcid.org/0009-0007-7583-8595; email: pengliang@wmu.edu.cn.
The research question, frozen method contracts and release decisions were directed and validated by Peng Liang. Coding was assisted by OpenAI Codex. Peng Liang reviewed the implementation and assumes responsibility for the released software. Institutional affiliations identify the author's academic affiliation only and do not indicate institutional software ownership or endorsement.
Public repository:
https://github.com/heise3/ct-series-selection-audit.
Version 1.0.3 is a local release-engineering patch candidate. It fixes cross-platform line-ending and environment-hash instability without changing O0-O3 definitions, reducers, eligibility, argopt, tie resolution, selected UIDs, mechanism codes, routing rules or conclusions. It does not replace or modify the immutable public v1.0.2 tag or Zenodo record. A new public tag and version-specific DOI must not be claimed until separately published.