Skip to content

File ManagedImageUtilityPolarization.h

File List > SpinnakerNET > ManagedImageUtilityPolarization.h

Go to the documentation of this file

//=============================================================================
// Copyright (c) 2026 FLIR Integrated Imaging Solutions, Inc. All Rights Reserved.
//
// This software is the confidential and proprietary information of FLIR
// Integrated Imaging Solutions, Inc. ("Confidential Information"). You
// shall not disclose such Confidential Information and shall use it only in
// accordance with the terms of the license agreement you entered into
// with FLIR Integrated Imaging Solutions, Inc. (FLIR).
//
// FLIR MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
// SOFTWARE, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
// PURPOSE, OR NON-INFRINGEMENT. FLIR SHALL NOT BE LIABLE FOR ANY DAMAGES
// SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
// THIS SOFTWARE OR ITS DERIVATIVES.
//=============================================================================

#ifndef FLIR_SPINNAKER_MANAGED_IMAGE_UTILITY_POLARIZATION_H
#define FLIR_SPINNAKER_MANAGED_IMAGE_UTILITY_POLARIZATION_H

#include "ManagedImage.h"
#include "ManagedDefs.h"
#include "Translate.h"

using namespace ::System;
using namespace ::System::Runtime::InteropServices;

namespace SpinnakerNET
{


    public ref class ManagedImageUtilityPolarization
    {
    public:

        static IManagedImage^ ExtractPolarQuadrant(IManagedImage^ srcImage, SpinnakerNET::PolarizationQuadrant desiredQuadrant);

        static void ExtractPolarQuadrant(IManagedImage^ srcImage, ManagedImage^ destQuadImage, SpinnakerNET::PolarizationQuadrant desiredQuadrant);

        static IManagedImage^ CreateGlareReduced(IManagedImage^ srcImage);
        static void CreateGlareReduced(IManagedImage^ srcImage, ManagedImage^ destGlareReducedImageImage);

        static IManagedImage^ CreateStokesS0(IManagedImage^ srcImage);
        static IManagedImage^ CreateStokesS0(IManagedImage^ srcImage, SpinnakerNET::ColorProcessingAlgorithm colorProcessingAlg);

        static void CreateStokesS0(IManagedImage^ srcImage, ManagedImage^ destStokesS0Image);
        static void CreateStokesS0(IManagedImage^ srcImage, ManagedImage^ destStokesS0Image, SpinnakerNET::ColorProcessingAlgorithm colorProcessingAlg);

        static IManagedImage^ CreateStokesS1(IManagedImage^ srcImage);
        static IManagedImage^ CreateStokesS1(IManagedImage^ srcImage, SpinnakerNET::ColorProcessingAlgorithm colorProcessingAlg);

        static void CreateStokesS1(IManagedImage^ srcImage, ManagedImage^ destStokesS1Image);
        static void CreateStokesS1(IManagedImage^ srcImage, ManagedImage^ destStokesS1Image, SpinnakerNET::ColorProcessingAlgorithm colorProcessingAlg);

        static IManagedImage^ CreateStokesS2(IManagedImage^ srcImage);
        static IManagedImage^ CreateStokesS2(IManagedImage^ srcImage, SpinnakerNET::ColorProcessingAlgorithm colorProcessingAlg);

        static void CreateStokesS2(IManagedImage^ srcImage, ManagedImage^ destStokesS2Image);
        static void CreateStokesS2(IManagedImage^ srcImage, ManagedImage^ destStokesS2Image, SpinnakerNET::ColorProcessingAlgorithm colorProcessingAlg);

        static IManagedImage^ CreateDolp(IManagedImage^ srcImage);
        static IManagedImage^ CreateDolp(IManagedImage^ srcImage, SpinnakerNET::ColorProcessingAlgorithm colorProcessingAlg);

        static void CreateDolp(IManagedImage^ srcImage, ManagedImage^ destDolpImage);
        static void CreateDolp(IManagedImage^ srcImage, ManagedImage^ destDolpImage, SpinnakerNET::ColorProcessingAlgorithm colorProcessingAlg);

        static IManagedImage^ CreateAolp(IManagedImage^ srcImage);
        static IManagedImage^ CreateAolp(IManagedImage^ srcImage, SpinnakerNET::ColorProcessingAlgorithm colorProcessingAlg);

        static void CreateAolp(IManagedImage^ srcImage, ManagedImage^ destAolpImg);
        static void CreateAolp(IManagedImage^ srcImage, ManagedImage^ destAolpImg, SpinnakerNET::ColorProcessingAlgorithm colorProcessingAlg);
    };

}

#endif // FLIR_SPINNAKER_MANAGED_IMAGE_UTILITY_POLARIZATION_H