euler-preprocess 3.3.0__tar.gz → 3.4.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. {euler_preprocess-3.3.0/euler_preprocess.egg-info → euler_preprocess-3.4.0}/PKG-INFO +12 -1
  2. euler_preprocess-3.3.0/PKG-INFO → euler_preprocess-3.4.0/README.md +11 -14
  3. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess/fog/transform.py +670 -48
  4. euler_preprocess-3.3.0/README.md → euler_preprocess-3.4.0/euler_preprocess.egg-info/PKG-INFO +25 -0
  5. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/pyproject.toml +1 -1
  6. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/tests/test_fog_aux_outputs.py +119 -0
  7. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess/__init__.py +0 -0
  8. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess/cli.py +0 -0
  9. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess/common/__init__.py +0 -0
  10. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess/common/dataset.py +0 -0
  11. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess/common/device.py +0 -0
  12. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess/common/intrinsics.py +0 -0
  13. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess/common/io.py +0 -0
  14. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess/common/logging.py +0 -0
  15. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess/common/noise.py +0 -0
  16. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess/common/normalize.py +0 -0
  17. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess/common/output.py +0 -0
  18. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess/common/sampling.py +0 -0
  19. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess/common/transform.py +0 -0
  20. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess/fog/__init__.py +0 -0
  21. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess/fog/airlight_from_sky.py +0 -0
  22. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess/fog/atmospheric_light.py +0 -0
  23. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess/fog/augmentations.py +0 -0
  24. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess/fog/capture.py +0 -0
  25. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess/fog/dcp_airlight.py +0 -0
  26. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess/fog/dcp_airlight_torch.py +0 -0
  27. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess/fog/dcp_heuristic_airlight.py +0 -0
  28. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess/fog/dcp_heuristic_airlight_torch.py +0 -0
  29. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess/fog/foggify.py +0 -0
  30. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess/fog/foggify_logging.py +0 -0
  31. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess/fog/inference.py +0 -0
  32. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess/fog/logging.py +0 -0
  33. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess/fog/models.py +0 -0
  34. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess/fog/pipeline.py +0 -0
  35. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess/radial/__init__.py +0 -0
  36. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess/radial/transform.py +0 -0
  37. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess/sky_depth/__init__.py +0 -0
  38. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess/sky_depth/transform.py +0 -0
  39. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess.egg-info/SOURCES.txt +0 -0
  40. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess.egg-info/dependency_links.txt +0 -0
  41. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess.egg-info/entry_points.txt +0 -0
  42. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess.egg-info/requires.txt +0 -0
  43. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/euler_preprocess.egg-info/top_level.txt +0 -0
  44. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/setup.cfg +0 -0
  45. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/tests/test_airlight_fallback.py +0 -0
  46. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/tests/test_cli_sample_selection.py +0 -0
  47. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/tests/test_dcp_heuristic_airlight.py +0 -0
  48. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/tests/test_foggify_integration.py +0 -0
  49. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/tests/test_radial.py +0 -0
  50. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/tests/test_sky_depth.py +0 -0
  51. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/tests/test_source_backed_output.py +0 -0
  52. {euler_preprocess-3.3.0 → euler_preprocess-3.4.0}/tests/test_zip_output.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: euler-preprocess
3
- Version: 3.3.0
3
+ Version: 3.4.0
4
4
  Summary: Physics-based preprocessing (fog, etc.) for RGB+depth datasets
5
5
  Requires-Python: >=3.9
6
6
  Description-Content-Type: text/markdown
@@ -148,6 +148,7 @@ Controls the fog simulation.
148
148
  "depth_scale": 1.0,
149
149
  "resize_depth": true,
150
150
  "contrast_threshold": 0.05,
151
+ "mode": "sample",
151
152
  "device": "cpu",
152
153
  "gpu_batch_size": 4,
153
154
  "capture": { "preset": "camera" },
@@ -165,6 +166,7 @@ Controls the fog simulation.
165
166
  | `depth_scale` | Multiplier applied to depth values after loading. |
166
167
  | `resize_depth` | Resize the depth map to match the RGB resolution (bilinear). |
167
168
  | `contrast_threshold` | Threshold *C_t* used in the visibility-to-attenuation conversion (default `0.05`). |
169
+ | `mode` | Optional scenario mode. Omit it or use `"sample"` for current one-scenario-per-image behavior; use `"progressive"` to render every scenario step for every image. |
168
170
  | `device` | `"cpu"`, `"cuda"`, `"mps"`, or `"gpu"` (alias for cuda). |
169
171
  | `gpu_batch_size` | Batch size when running on GPU. Uniform-model samples are batched; heterogeneous samples are processed individually. |
170
172
  | `capture` / `capture_artifacts` | Optional post-fog camera artifact pipeline. Omit it or set `{"stages": []}` for the legacy no-op path. Set `true`, `{"preset": "camera"}`, or a custom `stages` list to enable optics, raw sensor, ISP, and compression artifacts. |
@@ -404,6 +406,15 @@ compression together:
404
406
  `condition_profiles`; if omitted, the stage continues sampling its own profile
405
407
  weights locally.
406
408
 
409
+ Set top-level `"mode": "progressive"` to emit every configured scenario for
410
+ every input image instead of sampling one scenario. Each scenario accepts
411
+ `"steps"` and `"weight"`; the transform writes steps from weight `0` through
412
+ the scenario's configured weight, and weight `1` matches the original scenario.
413
+ Fog density is progressed in scattering-coefficient space, while numeric
414
+ camera/config values blend from the base config toward the scenario config.
415
+ Source-backed outputs are written as `fog_progression` variants under each
416
+ source file id.
417
+
407
418
  ### Fog Model
408
419
 
409
420
  The core equation is the **Koschmieder model** (atmospheric scattering):
@@ -1,17 +1,3 @@
1
- Metadata-Version: 2.4
2
- Name: euler-preprocess
3
- Version: 3.3.0
4
- Summary: Physics-based preprocessing (fog, etc.) for RGB+depth datasets
5
- Requires-Python: >=3.9
6
- Description-Content-Type: text/markdown
7
- Requires-Dist: numpy
8
- Requires-Dist: Pillow
9
- Requires-Dist: euler-loading
10
- Provides-Extra: gpu
11
- Requires-Dist: torch; extra == "gpu"
12
- Provides-Extra: progress
13
- Requires-Dist: tqdm; extra == "progress"
14
-
15
1
  # euler-preprocess
16
2
 
17
3
  Physics-based preprocessing transforms for multi-modal RGB+depth datasets. Built on top of [euler-loading](https://github.com/d-rothen/euler-loading) and [ds-crawler](https://github.com/d-rothen/ds-crawler).
@@ -148,6 +134,7 @@ Controls the fog simulation.
148
134
  "depth_scale": 1.0,
149
135
  "resize_depth": true,
150
136
  "contrast_threshold": 0.05,
137
+ "mode": "sample",
151
138
  "device": "cpu",
152
139
  "gpu_batch_size": 4,
153
140
  "capture": { "preset": "camera" },
@@ -165,6 +152,7 @@ Controls the fog simulation.
165
152
  | `depth_scale` | Multiplier applied to depth values after loading. |
166
153
  | `resize_depth` | Resize the depth map to match the RGB resolution (bilinear). |
167
154
  | `contrast_threshold` | Threshold *C_t* used in the visibility-to-attenuation conversion (default `0.05`). |
155
+ | `mode` | Optional scenario mode. Omit it or use `"sample"` for current one-scenario-per-image behavior; use `"progressive"` to render every scenario step for every image. |
168
156
  | `device` | `"cpu"`, `"cuda"`, `"mps"`, or `"gpu"` (alias for cuda). |
169
157
  | `gpu_batch_size` | Batch size when running on GPU. Uniform-model samples are batched; heterogeneous samples are processed individually. |
170
158
  | `capture` / `capture_artifacts` | Optional post-fog camera artifact pipeline. Omit it or set `{"stages": []}` for the legacy no-op path. Set `true`, `{"preset": "camera"}`, or a custom `stages` list to enable optics, raw sensor, ISP, and compression artifacts. |
@@ -404,6 +392,15 @@ compression together:
404
392
  `condition_profiles`; if omitted, the stage continues sampling its own profile
405
393
  weights locally.
406
394
 
395
+ Set top-level `"mode": "progressive"` to emit every configured scenario for
396
+ every input image instead of sampling one scenario. Each scenario accepts
397
+ `"steps"` and `"weight"`; the transform writes steps from weight `0` through
398
+ the scenario's configured weight, and weight `1` matches the original scenario.
399
+ Fog density is progressed in scattering-coefficient space, while numeric
400
+ camera/config values blend from the base config toward the scenario config.
401
+ Source-backed outputs are written as `fog_progression` variants under each
402
+ source file id.
403
+
407
404
  ### Fog Model
408
405
 
409
406
  The core equation is the **Koschmieder model** (atmospheric scattering):