CGATS dataset interop #30

Open
opened 2026-09-08 17:44:21 +01:00 by gronod · 0 comments
Owner

Summary

Import = open dialog + setTarget before jump.

Spec refs

docs/20-cgats-interop.md. #211 #94 #114.

Scope

In: parser, canonical ti3 writer, import/export/preview.
Out: unlocking Stages 1–2 without artefacts.

Implementation notes

Parse CGATS.17 / CTI3 / ISO28178 / CSV → typed fields + samples.
Canonical .ti3 writer: required keywords, field aliases, device 0–255→0–100, synthesise COLOR_REP/DEVICE_CLASS, drop rows lacking all data, preserve spectral for colprof -f.
Import: selectDatasetFile open → write .ti3setTarget → unlock Stage 4/5. Stages 1–2 stay locked without .ti1/.ti2.
Export .ti3/.txt. Preview: patch_count, colour space, spectral flags, first rows.
User strings via Text only.

Rewrite invariants

#211 open dialog + wizard init before jump. #94. #114.

Dependencies

Blocks-on: 4, 6.
Unblocks: none.

Test

  • CI/mock: parse→write→reparse; missing basename refused; import lands on Stage 4 gated.
  • Hardware: N/A. Optional: feed written .ti3 to real profcheck.

Acceptance criteria

  • Import never opens a save-.ti1 dialog.
## Summary Import = open dialog + setTarget before jump. ## Spec refs docs/20-cgats-interop.md. #211 #94 #114. ## Scope In: parser, canonical ti3 writer, import/export/preview. Out: unlocking Stages 1–2 without artefacts. ## Implementation notes Parse CGATS.17 / CTI3 / ISO28178 / CSV → typed fields + samples. Canonical `.ti3` writer: required keywords, field aliases, device 0–255→0–100, synthesise COLOR_REP/DEVICE_CLASS, drop rows lacking all data, preserve spectral for `colprof -f`. Import: `selectDatasetFile` open → write `.ti3` → `setTarget` → unlock Stage 4/5. Stages 1–2 stay locked without `.ti1/.ti2`. Export `.ti3`/`.txt`. Preview: patch_count, colour space, spectral flags, first rows. User strings via `Text` only. ## Rewrite invariants #211 open dialog + wizard init before jump. #94. #114. ## Dependencies Blocks-on: 4, 6. Unblocks: none. ## Test - CI/mock: parse→write→reparse; missing basename refused; import lands on Stage 4 gated. - Hardware: N/A. Optional: feed written `.ti3` to real `profcheck`. ## Acceptance criteria - [ ] Import never opens a save-`.ti1` dialog.
gronod added this to the M6 — Gamut, Stage 0, CGATS, release milestone 2026-09-08 17:44:21 +01:00
gronod added the
Priority
Medium
3
Project/ICCery-v2Feature/Backend
labels 2026-09-08 17:44:21 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: gronod/iccery-v2-mac#30