struct P1::ImageSdkC::IceProcessSetup

#include <C_P1ImageCaptureImage.h>

struct IceProcessSetup
{
    // fields

    P1::ImageSdk::CanvasClip canvasClip = P1::ImageSdk::CanvasClipMaintainDimensions;
    uint32_t srcXOffset = 0;
    uint32_t srcYOffset = 0;
    uint32_t srcWidth = 0;
    uint32_t srcHeight = 0;
    float scale = 0.0f;
    int32_t dstWidth = 0;
    int32_t dstHeight = 0;
    BitmapImageRepFormat outputFormat = kBitmapFormat_Unknown;
    bool contrastEnabled =false;
    float contrast =0.0;
    bool brightnessEnabled = false;
    float brightness =0.0;
    bool saturationEnabled = false;
    float saturation =0.0;
    bool exposureEnabled = false;
    float exposure =0.0;
    bool gainEnabled = false;
    float gain =1.0;
    bool blackLevelEnabled = false;
    float blackLevel[3] = { 0 };
    bool midtoneLevelEnabled = false;
    float midtoneLevel[3] = { 0 };
    bool whiteLevelEnabled = false;
    float whiteLevel[3] = { 0 };
    bool blackLevelTargetEnabled = false;
    float blackLevelTarget[3] = { 0 };
    bool whiteLevelTargetEnabled = false;
    float whiteLevelTarget[3] = { 0 };
    bool colorBalanceShadowEnabled = false;
    float colorBalanceShadow[3] = { 0 };
    bool colorBalanceMidtoneEnabled = false;
    float colorBalanceMidtone[3] = { 0 };
    bool colorBalanceHighlightEnabled = false;
    float colorBalanceHighlight[3] = { 0 };
    bool sharpeningEnabled = false;
    float sharpeningAmount =0;
    float sharpeningRadius =0.8;
    float sharpeningThreshold =0;
    float haloSuppressionAmount = 0.f;
    bool noiseReductionEnabled = false;
    float luminanceNoiseReductionAmount = 0.0f;
    float colorNoiseReductionAmount = 0.0f;
    bool noiseReductionSinglePixelEnabled = false;
    bool noiseModelEnabled = false;
    float noiseModel[2];
    bool clarityEnabled = false;
    int clarityMethod =0;
    float clarityFactor =0;
    bool shadowRecoveryEnabled = false;
    float shadowRecovery =0;
    bool highlightRecoveryEnabled = false;
    float highlightRecovery =0;
    bool geometricCorrectionCompensationEnabled = false;
    float geometricCompensationPressure = 0.0f;
    size_t redCurveTableSize = 0;
    double* redCurve = nullptr;
    size_t greenCurveTableSize = 0;
    double* greenCurve = nullptr;
    size_t blueCurveTableSize = 0;
    double* blueCurve = nullptr;
    size_t lumaCurveTableSize = 0;
    double* lumaCurve = nullptr;
    size_t rgbCurveTableSize = 0;
    double* rgbCurve = nullptr;
    bool whiteBalanceGainEnabled = false;
    float whiteBalanceGainRed = 0.0f;
    float whiteBalanceGainGreen = 0.0f;
    float whiteBalanceGainBlue = 0.0f;
    int whiteBalanceMode = 1;
    bool geometricCorrectionEnabled = false;
    GeometricCorrection geometricCorrection;
    bool lightFalloffCorrectionEnabled = false;
    bool chromaticAberrationCorrectionEnabled = false;
    bool exposureWarningMaskEnabled = false;
    float exposureWarningThresholdOver = 1.0f;
    float exposureWarningThresholdUnder = 0.0f;
    bool clipWarningMaskEnabled = false;
    int clipWarningCount = -1;
    bool enableLinearPath = false;
    OrientationMode orientationMode = OrientationMode::rotateAuto;
    bool polynomialTransformEnabled = false;
    bool polynomialTransformNormalized = false;
    float polynomial_ax = 0.f;
    float polynomial_bx = 0.f;
    float polynomial_cx = 1.f;
    float polynomial_ay = 0.f;
    float polynomial_by = 0.f;
    float polynomial_cy = 1.f;
    bool doBlackSubtract {true};
    bool doBlackClamp {false};
    int dualExposureOutput = 0;
    BitmapColorSpace outputColorSpace = kBitmapColorSpace_sRGB;
};