function c = visionhdlblks_control
% visionhdlblks

% Copyright 2014-2022 The MathWorks, Inc.

c = hdlnewcontrol(mfilename);

%% visionhdlanalysis %%
% Edge Detector
c.defaultFor( ...  
  'visionhdlanalysis/Edge Detector', {}, ...
  'visionhdlsupport.internal.EdgeDetector');

% Edge Detector System object
c.defaultFor( ...  
  'visionhdl.EdgeDetector', {}, ...
  'visionhdlsupport.internal.EdgeDetector');

c.defaultFor( ...  
  'visionhdlanalysis/Corner Detector', {}, ...
  'visionhdlsupport.internal.CornerDetector');

% Edge Detector System object
c.defaultFor( ...  
  'visionhdl.CornerDetector', {}, ...
  'visionhdlsupport.internal.CornerDetector');

%% visionhdlconversions %%
% Gamma Corrector
c.defaultFor( ...  
  'visionhdlconversions/Gamma Corrector', {}, ...
  'visionhdlsupport.internal.Gamma');

% Gamma Corrector System object
c.defaultFor( ...  
  'visionhdl.GammaCorrector', {}, ...
  'visionhdlsupport.internal.Gamma');

% Chroma Resampler
c.defaultFor( ...  
  'visionhdlconversions/Chroma Resampler', {}, ...
  'visionhdlsupport.internal.ChromaResampler');

% Chroma Resampler System object
c.defaultFor( ...  
  'visionhdl.ChromaResampler', {}, ...
  'visionhdlsupport.internal.ChromaResampler');

% Color Space Converter
c.defaultFor( ...  
  'visionhdlconversions/Color Space Converter', {}, ...
  'visionhdlsupport.internal.ColorSpaceConverter');

% Color Space Converter System object
c.defaultFor( ...  
  'visionhdl.ColorSpaceConverter', {}, ...
  'visionhdlsupport.internal.ColorSpaceConverter');

% Lookup Table
c.defaultFor( ...  
  'visionhdlconversions/Lookup Table', {}, ...
  'visionhdlsupport.internal.LookupTable');

% Lookup Table System object
c.defaultFor( ...  
  'visionhdl.LookupTable', {}, ...
  'visionhdlsupport.internal.LookupTable');


% Demosaic Interpolator
c.defaultFor( ...  
  'visionhdlconversions/Demosaic Interpolator', {}, ...
  'visionhdlsupport.internal.Bayer');

% Demosaic Interpolator System object
c.defaultFor( ...  
  'visionhdl.DemosaicInterpolator', {}, ...
  'visionhdlsupport.internal.Bayer');


%% visionhdlstatistics %%
% Image Statistics
c.defaultFor( ...
    'visionhdlstatistics/Image Statistics', {}, ...
    'visionhdlsupport.internal.ImageStatistics');

% Image Statistics System object
c.defaultFor( ...
    'visionhdl.ImageStatistics', {}, ...
    'visionhdlsupport.internal.ImageStatistics');

% Histogram
 c.defaultFor( ...  
   'visionhdlstatistics/Histogram', {}, ...
   'visionhdlsupport.internal.Histogram');

% Histogram System object
 c.defaultFor( ...  
   'visionhdl.Histogram', {}, ...
   'visionhdlsupport.internal.Histogram');

%% visionhdlfilter %%
% filtering
% Median Filter block
c.defaultFor( ...  
  'visionhdlfilter/Median Filter', {}, ...
  'visionhdlsupport.internal.MedianFilter');

% Median Filter System object
c.defaultFor( ...  
  'visionhdl.MedianFilter', {}, ...
  'visionhdlsupport.internal.MedianFilter');

% Image Filter
c.defaultFor( ...  
    'visionhdlfilter/Image Filter', {}, ...
    'visionhdlsupport.internal.ImageFilter');

c.defaultFor( ...  
    'visionhdl.ImageFilter', {}, ...
    'visionhdlsupport.internal.ImageFilter');

% Bilateral Filter
c.defaultFor( ...  
    'visionhdlfilter/Bilateral Filter', {}, ...
    'visionhdlsupport.internal.BilateralFilter');

c.defaultFor( ...  
    'visionhdl.BilateralFilter', {}, ...
    'visionhdlsupport.internal.BilateralFilter');


%% visionhdlmorphops 
% Dilation
c.defaultFor( ...  
  'visionhdlmorphops/Dilation', {}, ...
  'visionhdlsupport.internal.Dilation');

% Dilation System object
c.defaultFor( ...  
  'visionhdl.Dilation', {}, ...
  'visionhdlsupport.internal.Dilation');


% Grayscale Dilation
c.defaultFor( ...  
  'visionhdlmorphops/Grayscale Dilation', {}, ...
  'visionhdlsupport.internal.GrayscaleDilation');

% Grayscale Dilation System object
c.defaultFor( ...  
  'visionhdl.GrayscaleDilation', {}, ...
  'visionhdlsupport.internal.GrayscaleDilation');


% Erosion
c.defaultFor( ...  
  'visionhdlmorphops/Erosion', {}, ...
  'visionhdlsupport.internal.Erosion');
% Erosion System object
c.defaultFor( ...  
  'visionhdl.Erosion', {}, ...
  'visionhdlsupport.internal.Erosion');

% Grayscale Erosion
c.defaultFor( ...  
  'visionhdlmorphops/Grayscale Erosion', {}, ...
  'visionhdlsupport.internal.GrayscaleErosion');
% Grayscale Erosion System object
c.defaultFor( ...  
  'visionhdl.GrayscaleErosion', {}, ...
  'visionhdlsupport.internal.GrayscaleErosion');


% Opening
c.defaultFor( ...  
  'visionhdlmorphops/Opening', {}, ...
  'visionhdlsupport.internal.Opening');
% Opening System object 
c.defaultFor( ...  
  'visionhdl.Opening', {}, ...
  'visionhdlsupport.internal.Opening');

% Grayscale Opening
c.defaultFor( ...  
  'visionhdlmorphops/Grayscale Opening', {}, ...
  'visionhdlsupport.internal.GrayscaleOpening');

% Grayscale Opening System object 
c.defaultFor( ...  
  'visionhdl.GrayscaleOpening', {}, ...
  'visionhdlsupport.internal.GrayscaleOpening');


% Closing
c.defaultFor( ...  
  'visionhdlmorphops/Closing', {}, ...
  'visionhdlsupport.internal.Closing');

% Closing System object
c.defaultFor( ...  
  'visionhdl.Closing', {}, ...
  'visionhdlsupport.internal.Closing');

% Grayscale Closing
c.defaultFor( ...  
  'visionhdlmorphops/Grayscale Closing', {}, ...
  'visionhdlsupport.internal.GrayscaleClosing');

% Grayscale Closing System object
c.defaultFor( ...  
  'visionhdl.GrayscaleClosing', {}, ...
  'visionhdlsupport.internal.GrayscaleClosing');



%% visionhdlutilities
% Pixel Control Bus Creator
c.defaultFor( ...  
 'visionhdlutilities/Pixel Control Bus Creator', {}, ...
 'visionhdlsupport.internal.PixelControlBusCreator');

% ROI Selector
c.defaultFor( ...  
 'visionhdlutilities/ROI Selector', {}, ...
 'visionhdlsupport.internal.ROISelector');

% ROI Selector System object
c.defaultFor( ...
    'visionhdl.ROISelector', {}, ...
    'visionhdlsupport.internal.ROISelector');

% Measure Timing
c.defaultFor( ...
    'visionhdlutilities/Measure Timing', {}, ...
    'visionhdlsupport.internal.NoHDL');

% Measure Timing System object
c.defaultFor( ...
    'visionhdl.MeasureTiming', {}, ...
    'visionhdlsupport.internal.NoHDL');

% Line Buffer
c.defaultFor( ...
    'visionhdlutilities/Line Buffer', {}, ...
    'visionhdlsupport.internal.LineBuffer');

% Line Buffer System object
c.defaultFor( ...
    'visionhdl.LineBuffer', {}, ...
    'visionhdlsupport.internal.LineBuffer');

% Pixel Stream Aligner
c.defaultFor( ...
    'visionhdlutilities/Pixel Stream Aligner', {}, ...
    'visionhdlsupport.internal.PixelStreamAligner');

% Pixel Stream Aligner System object
c.defaultFor( ...
    'visionhdl.PixelStreamAligner', {}, ...
    'visionhdlsupport.internal.PixelStreamAligner');

% Pixel Stream FIFO
c.defaultFor( ...
    'visionhdlutilities/Pixel Stream FIFO', {}, ...
    'visionhdlsupport.internal.PixelStreamFIFO');

% HV Counter
c.defaultFor( ...
    'visionhdlutilities/HV Counter', {}, ...
    'visionhdlsupport.internal.HVCounter');

% HV Counter Object
c.defaultFor( ...
    'visionhdl.HVCounter', {}, ...
    'visionhdlsupport.internal.HVCounter');


%% visionhdlgeotforms
% Birds-Eye View
c.defaultFor( ...  
 'visionhdlgeotforms/Birds-Eye View', {}, ...
 'visionhdlsupport.internal.BirdsEyeView');

c.defaultFor( ...  
 'visionhdl.BirdsEyeView', {}, ...
 'visionhdlsupport.internal.BirdsEyeView');

% Image Resizer
c.defaultFor( ...  
 'visionhdlgeotforms/Image Resizer', {}, ...
 'visionhdlsupport.internal.ImageResizer');

c.defaultFor( ...  
 'visionhdl.ImageResizer', {}, ...
 'visionhdlsupport.internal.ImageResizer');


