anchor.diff:  .Conversion overhead on the MATLAB thread in [ms]
   image::{imagesdir}/streaming/table_performance.svg[width=100%]
   
  -The results show that the default conversion as well as jpeg compression are essentially non-starters for color images. The default approach works much better for grayscale due the conversion from a 2D array (`byte[height][width]`) being significantly cheaper, but it still is not a great option.
  +The results show that the default conversion as well as jpeg compression are essentially non-starters for color images. For grayscale images the default conversion works reasonably well due to the fact that the resulting 2D array (`byte[height][width]`) stores the data much more efficiently, but it still is not a great option.
   
   Copying the raw pixels from a Java image is significantly faster, but there is still too much overhead caused by the need to change the memory layout.
   
   The by far best option is to convert the layout outside of MATLAB and if possible bypass the Java translation layer entirely by using shared memory. This approach scales very well and can even transfer 4K images in real-time.
   
  -[Note]
  +[NOTE]
   Note that we typically use lower resolution images (e.g. 480p) to speed up the processing. We only use higher resolution images (e.g. 1080p) when we use MATLAB as a live video display.
   
   == Final Notes
  
positive.code: [h,w,c] = size(this.matlabImage);  % get dim info
  vector = typecast(data, 'uint8');
  
  % (2) Interpret pre-layed out memory as matrix
  image = reshape(vector,h,w,c);
  ----
  
  
negative.code: 
  *3. Java Layout as 1D Pixel Array*
  
  The most common approach is to copy the backing array behind Java's `BufferedImage` class and to reshape the memory using MATLAB (compare this link:https://mathworks.com/matlabcentral/answers/100155-how-can-i-convert-a-java-image-object-into-a-matlab-image-matrix#answer_109503[answer]).
  
  [source,matlab]
  ----
  