luxlabs header browser preview


@class NSMutableDictionary, FigRegToolboxGPU, FigMetalContext, NSDictionary, BWPixelBufferPool, BWAdaptiveCorrectionPreviewRegistrationTuningParameters, BWMemoryPoolFlushAssertion;

@interface BWAdaptiveCorrectionPreviewRegistration : NSObject {
    BWAdaptiveCorrectionPreviewRegistrationTuningParameters *_tuningParameters;
    FigRegToolboxGPU *_keypointDetector;
    FigMetalContext *_metalContext;
    struct { float x0; float x1; float x2; float x3; float x4; float x5; } *_keypointList;
    struct OpaqueVTPixelRotationSession { } *_cropAndScaleSession;
    NSDictionary *_staticParametersByPortType;
    struct CalModel { double focalLengthPix[2]; double opticalCenterX[2]; double opticalCenterY[2]; double extrinRotRefefenceToAuxiliary[12]; double canonicalDisparityScale; double calibrationDimensions[2]; double pixelSize_um[2]; } _correctedCalibration;
    double *_validKeypointsInSensorResolution[2];
    unsigned int _validKeypointsCount;
    double *_transposedKeypoints[2];
    double *_keypointDepths;
    double *_keypointWeights[3];
    struct { struct { void /* unknown type, empty encoding */ columns[3]; } narrowerToWiderTransforms[3]; } _registrationTransform;
    BWPixelBufferPool *_registrationPool;
    BWMemoryPoolFlushAssertion *_registrationPoolReadyAssertion;
    BOOL _resourcesCleaned;
    BOOL _excludeExtrinsicsCorrectionFromWideTeleAlignment;
    BOOL _excludeEstimatedSagFromWideTeleAlignment;
    float _sagEstimationAlpha;
    NSMutableDictionary *_estimatedSagPositionsByPortType;
    struct { long long value; int timescale; unsigned int flags; long long epoch; } _lastNarrowerFramePTS;
    void /* function */ *_fullCorrectionFunction;
    void /* function */ *_computeVerticalBaselineTransformFunction;
    void /* function */ *_rotateCalModelFunction;
    void /* function */ *_transformPointsWithMatrixFunction;
    void *_disparityLib;
}

+ (void)initialize;
+ (struct { struct { void /* unknown type, empty encoding */ x0[3]; } x0[3]; })flattenNarrowerToWiderTransforms:(struct { struct { void /* unknown type, empty encoding */ x0[3]; } x0[3]; })a0 narrowerDimensions:(struct { int x0; int x1; })a1 narrowerFinalCropRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a2 atNarrowerToWiderCameraScale:(double)a3 useYAnchorAtHeightCenter:(BOOL)a4;

- (void)dealloc;
- (void)cleanupResources;
- (int)allocateResourcesWithVideoFormat:(id)a0 metalContext:(id)a1;
- (int)computeAlignmentFromWiderSampleBuffer:(struct opaqueCMSampleBuffer { } *)a0 narrowerSampleBuffer:(struct opaqueCMSampleBuffer { } *)a1 narrowerToWiderTransformsOut:(struct { struct { void /* unknown type, empty encoding */ x0[3]; } x0[3]; } *)a2;
- (int)computeApproximateCorrectionForWiderCamera:(struct opaqueCMSampleBuffer { } *)a0 narrowerCameraPortType:(id)a1 narrowerPixelBufferDimensions:(struct { int x0; int x1; })a2 narrowerToWiderCameraScale:(double)a3 narrowerToWiderTransformsOut:(struct { struct { void /* unknown type, empty encoding */ x0[3]; } x0[3]; } *)a4;
- (id)initWithCameraInfoByPortType:(id)a0 excludeStaticComponentFromAlignmentShifts:(BOOL)a1;
- (int)registerWiderSampleBufferUsingADC:(struct opaqueCMSampleBuffer { } *)a0 narrowerSampleBuffer:(struct opaqueCMSampleBuffer { } *)a1 narrowerRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a2 macroTransitionType:(int)a3 narrowerToWiderTransformsOut:(struct { struct { void /* unknown type, empty encoding */ x0[3]; } x0[3]; } *)a4;

@end