Skip to content

Conversation

@Erol444
Copy link
Contributor

@Erol444 Erol444 commented May 15, 2021

fixed stereoDepth (limitations) and colorCamera (isp/raw/encoder) node docs

Built docs here

@Erol444 Erol444 requested a review from alex-luxonis May 15, 2021 00:09
Copy link
Collaborator

@alex-luxonis alex-luxonis left a comment

Choose a reason for hiding this comment

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

Thanks for adding this!

Comment on lines 27 to 43
ColorCamera node
┌──────────────────────────────┐
│ ┌──────────────┐ │
│ │ sensor │ │ raw
│ │ (IMX378) │------------├────────►
│ └─────┬───▲────┘ │
│ │ │ │
│ ┌─▼───┴─┐ │ isp
inputControl │ │ │------┬--------├────────►
──────────────►│------│ ISP │ ┌────▼────┐ │ video
│ │ │ | |---├────────►
│ └───────┘ │ │ │ still
inputConfig │ │ Encoder │---├────────►
──────────────►│----------------| │ │ preview
│ │ │---├────────►
│ └─────────┘ │
└──────────────────────────────┘
Copy link
Collaborator

Choose a reason for hiding this comment

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

  • as we're supporting multiple sensors: IMX378/ IMX477 (and OV9782, IMX283 on separate branches), and going to add more, change to a generic Image Sensor
  • it would be better to show that the same raw stream goes through ISP
  • Encoder -> Image post-processing/conversion, to not be confused with the Video Encoder

a capture event is sent to the ColorCamera, so it's like taking a photo.

**ISP** (image signal processor) is used for bayer transformation, demosaicing, noise reduction etc. Click
`here <https://en.wikipedia.org/wiki/Image_processor>`__ for more information.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Could add that ISP interacts with the 3A algorithms (auto-focus, auto-exposure, auto-white-balance), adjusting at runtime the image sensor exposure time and sensitivity (ISO), and the lens position if motorized.

:code:`Preview` is RGB (or BGR planar/interleaved if configured) and is mostly suited for small size previews and to feed the image
into :ref:`NeuralNetwork`. :code:`video` and :code:`still` are both NV12, so are suitable for bigger sizes. :code:`still` image gets created when
a capture event is sent to the ColorCamera, so it's like taking a photo.

Copy link
Collaborator

Choose a reason for hiding this comment

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

To be consistent with the existing types, add here that isp frames are YUV420 planar (aka YU12, IYUV, I420) and can be resized using (ref)setIspScale.

And raw outputs packed RAW10 bayer data (for other sensors in the future we may need to have RAW12, and the bayer color order depends on the sensor and image orientation, TODO add to ImgFrame::Type: RAW10_BayerBG, etc ).
We have here some code for unpacking: https://github.com/luxonis/depthai-experiments/blob/3f1b2b2/gen2-color-isp-raw/main.py#L13-L32

@Erol444 Erol444 requested a review from alex-luxonis May 15, 2021 20:19
Copy link
Collaborator

@alex-luxonis alex-luxonis left a comment

Choose a reason for hiding this comment

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

One comment, otherwise LGTM!

Comment on lines 55 to 57
**ISP** (image signal processor) interacts with the 3A algorithms: **auto-focus**, **auto-exposure** and **auto-white-balance**. ISP handles image
sensor adjustments such as exposure time, sensitivity (ISO) and lens position (if image sensor in motorized) at runtime.
Click `here <https://en.wikipedia.org/wiki/Image_processor>`__ for more information.
Copy link
Collaborator

Choose a reason for hiding this comment

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

It would be good to keep the initial description from previous commit first, as the main thing ISP is doing:

ISP (image signal processor) is used for bayer transformation, demosaicing, noise reduction and other image enhancements.

And then add the rest (slightly rephrased):

It interacts with the 3A algorithms: auto-focus, auto-exposure and auto-white-balance, which are handling image sensor adjustments such as exposure time, sensitivity (ISO) and lens position (if the camera module has a motorized lens) at runtime.
Click here for more information.

@Erol444 Erol444 merged commit 13dcbf4 into main May 16, 2021
@Erol444 Erol444 deleted the fix_node_docs branch May 16, 2021 11:22
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