Repository navigation
Feature/237 raw image import - #396
Open
ThomasMalletCodra wants to merge 13 commits into
Open
ThomasMalletCodra wants to merge 13 commits into
ThomasMalletCodra wants to merge 13 commits into
Conversation
Image exports need destination-specific controls to avoid unsafe implicit data conversion, while automated saves and legacy formats must remain compatible. The export workflow now uses Sigima capabilities and records only completed, replayable file outputs with stable object references. * [NEW] : Add a format-aware image export dialog after filename selection with safe normalization defaults and supported data type choices * [CHG] : Forward optional export parameters to Sigima while preserving legacy formats and explicit noninteractive saves * [FIX] : Record only confirmed and successful exports in file-output history and replay them against their original object UUIDs * [FIX] : Skip stale object references without misaligning filenames or export parameters * [FIX] : Preserve mixed export parameter and empty entries across history encoding and HDF5 persistence, including legacy representations * [NEW] : Add focused tests for format defaults, cancellation, failed writes, stale UUIDs, explicit saves, legacy formats, and history round trips * [NEW] : Add French translations for the image export interface and warnings
RAW imports need user-provided binary layout parameters and deterministic history replay without changing scientific pixel values. * [NEW] : Add the RAW parameter dialog and optional same-folder file expansion * [CHG] : Preserve per-file parameter snapshots across successful imports and history replay * [NEW] : Apply white-is-zero display options and add unit, replay and translation coverage
Generate translated export controls from Sigima capabilities and preview the exact encoded result in memory. Add robust option serialization and validation handling, format-aware defaults, focused tests, and French translations.
…-raw-image-import # Conflicts: # datalab/gui/panel/image.py
* [UPDATE] : DataLab.spec:
- collect lazily loaded imagecodecs submodules as hidden imports
- exclude optional numcodecs and zarr integration modules
* [UPDATE] : doc/release_notes/release_1.04.md:
- add compressed TIFF bug fix entry (fixes #381)
* [UPDATE] : doc/locale/fr/LC_MESSAGES/release_notes/release_1.04.po:
- translate new release note entries
* [UPDATE] : doc/locale/fr/LC_MESSAGES/features/advanced/plugins.po:
- update catalog with new Sigima image format docstrings
* [UPDATE] : doc/release_notes/release_1.04.md:
- state that CCITT compression requires Python 3.11 or later
* [UPDATE] : doc/locale/fr/LC_MESSAGES/release_notes/release_1.04.po:
- update translation of the compressed TIFF entry
* [UPDATE] : datalab/gui/panel/base.py:
- replace per-file edit/prepare import hooks with a batch edit_import_parameters
- add param argument to load_from_files (applied without dialog)
- collect all files in load_from_directory and ask import parameters once
- record import_filenames/import_params in directory history entries
- reuse recorded parameters on replay, only asking for new files
* [UPDATE] : datalab/gui/panel/image.py:
- remove RawImageImportGUIParam and the "open all RAW files" option
- ask whether to apply the same parameters to several RAW files
- open one dialog for all files, or one dialog per file
- add is_raw_image_file helper
* [UPDATE] : datalab/history/action.py:
- remap save_to_files object_uuids in copy_with_uuid_remap
- update docstring listing remapped references
* [UPDATE] : datalab/control/remote.py:
- accept serialized import parameters in load_from_files/load_from_directory
- serialize import parameters in RemoteClient like calc
* [UPDATE] : datalab/control/baseproxy.py:
- add param argument to load_from_files/load_from_directory
* [UPDATE] : datalab/gui/main.py:
- forward import parameters to the current panel
* [UPDATE] : datalab/aiassistant/tools/builtin.py:
- add optional RAW import_parameters to the load_file tool
* [UPDATE] : datalab/locale/fr/LC_MESSAGES/datalab.po:
- translate new RAW import strings, remove obsolete entries
* [UPDATE] : datalab/tests/features/image/raw_import_unit_test.py:
- adapt tests to the batch import mechanism
- add shared/per-file/cancel tests for several RAW files
- add param argument and directory import/replay tests
* [UPDATE] : datalab/tests/features/image/raw_import_app_test.py:
- add test_raw_directory_import_replay_reuses_recorded_parameters
* [UPDATE] : datalab/tests/features/common/history_model_unit_test.py:
- add test_action_copy_remaps_exported_object_uuids
* [UPDATE] : datalab/tests/aiassistant/test_tool_registry.py:
- add load_file import parameter tests
* [UPDATE] : datalab/gui/panel/image.py:
- derive ImageExportDialog from ProcessingPreviewDialog
- remove the dedicated plot and preview button
- add compute_image_export_preview, run in the preview process
- enable the preview when the dialog opens
- validate the export configuration on accept
- use the main window preview executor cache and close the preview on exit
* [UPDATE] : datalab/widgets/processingpreview.py:
- add optional prepare_param hook converting edited parameters before request
- report parameter conversion errors as invalid parameters
* [UPDATE] : datalab/tests/features/image/export_unit_test.py:
- replace tests of the removed dedicated preview
- add tests for preview function, preview on open, invalid options and accept
* [UPDATE] : datalab/locale/fr/LC_MESSAGES/datalab.po:
- remove obsolete "Export options" entry
* [UPDATE] : datalab/gui/panel/image.py:
- disable TIFF compression level and predictor for unsupported compressions
- ignore inactive parameters and format options when exporting
- add per-format help on option constraints
- remove automatic slider on TIFF compression level
- reject complex images upfront for formats without complex data types
- show only the message of expected validation errors in the preview
* [UPDATE] : datalab/widgets/processingpreview.py:
- add optional format_error hook for preview error messages
* [UPDATE] : datalab/tests/features/image/export_unit_test.py:
- add test_tiff_options_follow_compression
- add test_lzw_with_leftover_compression_level_is_exportable
- add test_inactive_gamma_and_invert_are_ignored
- add help/slider, error formatting and complex image tests
* [UPDATE] : datalab/locale/fr/LC_MESSAGES/datalab.po:
- translate new help and warning messages
Assisted by : Opus 5.5
* [REMOVE] : datalab/tests/features/control/remote_import_param_unit_test.py:
- remove test affected by a pre-existing remote loading instability
# Conflicts: # datalab/control/baseproxy.py # datalab/control/remote.py # datalab/locale/fr/LC_MESSAGES/datalab.po
This branch has not been deployed
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.
Closes #237
Closes #256
Closes #381