Skip to content

Feature/dicom harness and docs reorg#115

Merged
SureshKViswanathan merged 3 commits into
mainfrom
feature/dicom-harness-and-docs-reorg
May 29, 2026
Merged

Feature/dicom harness and docs reorg#115
SureshKViswanathan merged 3 commits into
mainfrom
feature/dicom-harness-and-docs-reorg

Conversation

@SureshKViswanathan

Copy link
Copy Markdown
Contributor

No description provided.

ranjithraster and others added 3 commits May 29, 2026 23:08
The executable target was named 'jpegls', which collides with the library
target 'JPEGLS' on case-insensitive APFS: the CLI's object files landed in
the library's build dir and linking failed. Rename the executable target to
'jpeglscli' (the product/binary stays 'jpegls'). PR #113 had only renamed the
source path, not the target.

Also fix the test target, which did not compile on Apple Silicon:
- replace 46 uses of the non-existent '#guard(...)' macro with
  'guard ... else { return }' (skip-if-Metal-unsupported, the intended meaning)
- add missing 'try' on 8 rethrows 'measure { ... }' call sites

Guard stray compiler intermediates (*.o/*.d/*.dia/*.swiftdeps, .vscode/) in
.gitignore so broken builds don't litter the repo root.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Validate the JPEG-LS codec against real medical imaging data.

- DICOMSupport: a minimal DICOM Part-10 reader (Explicit/Implicit VR LE,
  native + encapsulated Pixel Data, sequence skipping). Lives in the CLI
  target to keep the JPEGLS library DICOM-independent. Extracts geometry,
  pixel format, and the first native unsigned grayscale frame.
- BenchDICOM (jpegls bench-dicom <dir>): walks a corpus by modality, runs
  encode -> decode -> bit-exact verify, and reports compression ratio and
  encode/decode throughput. Cleanly separates skip (non-grayscale), err
  (unreadable), and fail (encoded-but-not-lossless).

Baseline on the radiology corpus (pure-Swift codec): all CT/DX/MG/MR/PX/XA
frames round-trip losslessly; ratios ~2-25:1.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The root held 19 loose markdown files plus a tracked coverage artifact.
Tidy it to a conventional layout (README + CHANGELOG stay at root):

- move 17 guides/specs into docs/ (flat, so all 49 inter-doc links stay valid)
- move jpegls.1 into man/
- remove the tracked default.profraw build artifact (303 KB)
- add docs/README.md as a categorized index

Update every reference so all 89 relative links resolve: README doc links
get a docs/ prefix and its tree/man-page paths are fixed; moved docs use ../
for root targets and .github; CHANGELOG and copilot-instructions point at the
new locations; two test comments point at docs/MILESTONES.md. Historical
CHANGELOG prose mentioning old filenames is left as-is (release record).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 29, 2026 17:40
@SureshKViswanathan SureshKViswanathan merged commit 717d7a3 into main May 29, 2026
2 checks passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants