Skip to content

Commit

Permalink
Add structured light output documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
aelmiger committed Apr 5, 2024
1 parent 0b12286 commit 7f55868
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 0 deletions.
Binary file added docs/docs/img/docs/dot_projection.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Structured Light Output Documentation

The Structured Light Output generates structured light patterns projected onto the scene, which can be used for 3D reconstruction and depth estimation.

![Dot projected image with stereo reconstruction on the right](/img/docs/dot_projection.png)

## Configuration Parameters

The following table describes each configuration parameter for the Structured Light Output:

| Parameter | Type | Description | Requirement |
|-----------|------|-------------|-------------|
| `id` | string | A unique identifier for the output. | **Required** |
| `frame_id` | string | The ID of the transformation frame to which the structured light projector is attached. | **Required** |
| `intensity` | float | The intensity of the projected light pattern. | **Required** |
| `scale` | float | The scale of the light pattern, controlling the density of the dots. | **Required** |
| `samples` | integer | The number of samples per pixel for rendering the structured light image. Higher values result in better quality but slower rendering. | **Required** |
| `debug_breakpoint` | boolean | If set to `true` and the [scene debugging](/developement/debugging/#visually-debug-a-job-file) is active, the rendering process will pause and open Blender before proceeding. | Optional |

## Example Configuration

```yaml
syclops_output_structured_light:
- id: main_cam_structured_light
frame_id: "camera_link"
intensity: 10000
scale: 60
samples: 256
debug_breakpoint: True
```
In this example, a structured light output is configured with the identifier `main_cam_structured_light`. The light projector is attached to the `camera_link` transformation frame. The intensity of the projected pattern is set to 10000, and the scale is set to 60. The image will be rendered with 256 samples per pixel. If scene debugging is active, the rendering process will pause and open Blender before proceeding.

## Output Format

The structured light output is saved as a grayscale PNG image for each frame, with the projected dot pattern visible on the scene objects. The images are stored in the `<sensor_name>_annotations/structured_light/` folder.


The structured light output can be used in multiple cameras to simulate stereo vision and generate depth maps. The structured light patterns can be used for 3D reconstruction and depth estimation.
1 change: 1 addition & 0 deletions docs/mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ nav:
- Pixel Annotation: usage/job_description/config_descriptions/pixel_annotation.md
- Object Position: usage/job_description/config_descriptions/object_position.md
- Keypoint Annotation: usage/job_description/config_descriptions/keypoint_annotation.md
- Structured Light: usage/job_description/config_descriptions/structured_light.md
- Post Processing:
- Bounding Boxes: usage/job_description/config_descriptions/bounding_box.md
- Assets: usage/assets/assets.md
Expand Down

0 comments on commit 7f55868

Please sign in to comment.