MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Yantra::VisionInternal Namespace Reference

Classes

struct  CannyPC
 
struct  CCBlockInitPC
 
struct  CCCompressPC
 
struct  CCFinalLabelPC
 
struct  CCMergePC
 
struct  CCResetPC
 
struct  ClassifyPC
 
struct  CompletedOp
 
struct  ConfinePC
 
struct  ContourClearPC
 
struct  ContourCompactPC
 
struct  ContourLinkPC
 
struct  ContourMarchPC
 
struct  ContourRenderPC
 
struct  ContourSegmentsPC
 
struct  ContourTopKPC
 
struct  ExtractPeaksPC
 
struct  FinalizePC
 
struct  FlowBufferSpec
 
struct  FlowDensePC
 
struct  FlowLkPC
 
struct  FlowPyramidPC
 
struct  FlowSelectPC
 
struct  GaussianPC
 
struct  HarrisPC
 
struct  HysteresisPC
 
struct  IngestPC
 
struct  MorphPC
 
struct  NormalizePC
 
struct  OtsuApplyPC
 
struct  OtsuHistPC
 
struct  PixelRect
 Half-open pixel rectangle [x0, x1) x [y0, y1) More...
 
struct  RgbaToGrayPC
 
struct  SelectLabelPC
 
struct  ThresholdAdaptivePC
 
struct  ThresholdBandsPC
 
struct  ThresholdPC
 

Enumerations

enum class  FlowDensePhase : uint8_t {
  TENSOR_H = 0 , TENSOR_V = 1 , WARP_INIT = 2 , WARP = 3 ,
  BOX_H = 4 , SOLVE = 5 , VISUALIZE = 6
}
 
enum class  FlowSelectPhase : uint8_t {
  CLEAR = 0 , SURVIVORS = 1 , HISTOGRAM = 2 , THRESHOLD = 3 ,
  ADD_STRONG = 4 , ADD_MARGINAL = 5 , COMMIT = 6 , PUBLISH = 7 ,
  ARGS = 8
}
 

Functions

std::optional< uint32_t > exported_record_count (const std::shared_ptr< Portal::Graphics::GpuBufferHandle > &handle, size_t stride_vec4)
 Clamped record count from an exported buffer's vec4 header, or nullopt when the buffer isn't readable.
 
PixelRect region_rect (const std::optional< Kinesis::Vision::BoundingBox > &region, uint32_t w, uint32_t h)
 Pixel rectangle of a normalised region over a w x h image, clamped to the image.
 

Variables

constexpr uint32_t CC_BACKGROUND_HOST = 0xFFFFFFFFU
 
constexpr uint32_t CC_UNCLAIMED_HOST = 0U
 
constexpr size_t k_flow_args_count = 4
 
constexpr uint64_t k_flow_args_stride = 3 * sizeof(uint32_t)
 
constexpr uint32_t k_flow_dense_max_radius = 15
 Largest summation window radius of the dense solver.
 
constexpr uint32_t k_flow_duplicate_energy = 16
 Frame change, in 1/1024 intensity summed over pixels, at or below which a frame counts as a repeat.
 
constexpr size_t k_flow_export_vec4 = size_t { 1 } + size_t { k_flow_max_points } * 2
 Export buffer size in vec4: one header plus two per track.
 
constexpr uint32_t k_flow_grid_capacity = 1U << 18
 Occupancy grid capacity in cells; the cell size grows to fit large frames.
 
constexpr uint32_t k_flow_max_points = 4096
 Upper bound on tracked keypoints, matching extract_peaks' buffer capacity.
 
constexpr uint32_t k_flow_max_radius = 15
 Largest window radius the tracker's shared template cache holds.
 
constexpr uint32_t k_flow_min_level_extent = 16
 Smallest pyramid level edge worth building.
 
constexpr uint32_t k_flow_select_local = 256
 
constexpr uint32_t k_max_components = 4096
 Maximum number of connected components that can be labeled in a single pass.
 
constexpr uint32_t k_max_holes_per_label = 4
 Maximum number of contours that can be stored in a single pass.
 
constexpr uint32_t k_max_points_per_contour = 4096
 Maximum number of points that can be stored in a single contour.
 
constexpr uint32_t k_max_trace_slots = k_max_components * (1U + k_max_holes_per_label)
 Maximum number of trace slots that can be stored in a single pass (for contour tracing)
 
constexpr std::array< uint32_t, 3 > k_wg2d { 8, 8, 1 }
 Standard 2D workgroup used by all pixel-to-pixel vision shaders.