Harden post-storage ultrasound compression - #23
Open
royradimalai wants to merge 4 commits into
Open
Conversation
Member
|
This looks pretty good to me ! Since we now have multiple files related to this sample, could you move it into a specific folder like Thanks ! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Harden the sample into a fail-closed pre-storage pipeline for newly received multiframe ultrasound DICOM objects.
For an eligible lossless ultrasound object, the callback archives the byte-identical original to S3 and transcodes an in-memory copy to JPEG Baseline at quality 70. Orthanc stores the compressed derivative only after both the archive and the derivative pass validation. If archival, transcoding, or validation fails, Orthanc keeps the original unchanged.
Data flow
1.2.840.10008.1.2.4.50) at quality 70.ISO_10918_1, and reference the source SOP Instance UID.Lossless archive behavior
Safety properties
pydicom,boto3, the archive bucket, quality 70, and compatible ingest-transcoding settings.Radimal deployment dependency
The deployment integration is radimal-terraform PR #363. It vendors this exact script, supplies the Python runtime dependencies, provisions the archive bucket and IAM access, configures quality 70, and enables the callback only in VEG staging.
Merge this PR before #363. Any change to this script must be synchronized into #363 before that Terraform PR is merged.
Production rollout
This sample does not deploy itself. Radimal production will be enabled in a separate Terraform PR after #23 and #363 merge. That rollout will target Radimal production only, not VEG production, and must be reviewed through an
orthanc-1Atlantis plan before apply.Testing
All 24 focused tests pass. They cover eligibility, archive checksums and manifests, deterministic UID behavior, metadata, frame and identity validation, retransmission, and fail-closed behavior.