Current section

Files

Jump to
evision py_src config modules.py
Raw

py_src/config/modules.py

"""Maps OpenCV namespace paths to the Elixir module names they emit as.
Most OpenCV namespaces map mechanically (`cv::Foo` -> `Evision.Foo`) but a
handful of cases need hand-picked overrides for ergonomics:
* Abbreviations / acronyms that look ugly title-cased (`dnn` -> `DNN`,
`ml` -> `ML`, `ccm` -> `CCM`).
* Multi-word names where the natural splits aren't on `_`
(`ximgproc` -> `XImgProc`, signaling "extension" + "img" + "proc").
* Nested enum types whose containing class is itself overridden.
This dict was previously inlined inside `gen2.add_const`; it is consulted
once per parsed enum so re-creating it on every call wasted memory.
"""
# Keys are the original OpenCV path with the leading `cv.` stripped.
NAMESPACE_TO_ELIXIR_MODULE = {
'aruco.CornerRefineMethod': 'Evision.ArUco.CornerRefineMethod',
'aruco.PatternPositionType': 'Evision.ArUco.PatternPositionType',
'aruco.PredefinedDictionaryType': 'Evision.ArUco.PredefinedDictionaryType',
'bgsegm.LSBPCameraMotionCompensation': 'Evision.BgSegm.LSBPCameraMotionCompensation',
'bioinspired': 'Evision.Bioinspired',
'ccm.CCM_TYPE': 'Evision.CCM.CCM_TYPE',
'ccm.COLOR_SPACE': 'Evision.CCM.COLOR_SPACE',
'ccm.CONST_COLOR': 'Evision.CCM.CONST_COLOR',
'ccm.DISTANCE_TYPE': 'Evision.CCM.DISTANCE_TYPE',
'ccm.INITIAL_METHOD_TYPE': 'Evision.CCM.INITIAL_METHOD_TYPE',
'ccm.LINEAR_TYPE': 'Evision.CCM.LINEAR_TYPE',
'cuda.SURF_CUDA.KeypointLayout': 'Evision.CUDA.SURF_CUDA.KeypointLayout',
'cuda.DemosaicTypes': 'Evision.CUDA.DemosaicTypes',
'cuda.AlphaCompTypes': 'Evision.CUDA.AlphaCompTypes',
'cuda.ConnectedComponentsAlgorithmsTypes': 'Evision.CUDA.ConnectedComponentsAlgorithmsTypes',
'cuda.MomentsOrder': 'Evision.CUDA.MomentsOrder',
# cudaoptflow (NVIDIA OF) — module name drops the `_1_0`/`_2_0` underscores
# to match pipeline.get_module_writer's projection.
'cuda.NvidiaOpticalFlow_1_0.NVIDIA_OF_PERF_LEVEL': 'Evision.CUDA.NvidiaOpticalFlow10.NVIDIA_OF_PERF_LEVEL',
'cuda.NvidiaOpticalFlow_2_0.NVIDIA_OF_PERF_LEVEL': 'Evision.CUDA.NvidiaOpticalFlow20.NVIDIA_OF_PERF_LEVEL',
'cuda.NvidiaOpticalFlow_2_0.NVIDIA_OF_OUTPUT_VECTOR_GRID_SIZE': 'Evision.CUDA.NvidiaOpticalFlow20.NVIDIA_OF_OUTPUT_VECTOR_GRID_SIZE',
'cuda.NvidiaOpticalFlow_2_0.NVIDIA_OF_HINT_VECTOR_GRID_SIZE': 'Evision.CUDA.NvidiaOpticalFlow20.NVIDIA_OF_HINT_VECTOR_GRID_SIZE',
'cudacodec.Codec': 'Evision.CUDACodec.Codec',
'cudacodec.ColorFormat': 'Evision.CUDACodec.ColorFormat',
'cudacodec.EncodeParamsRcMode': 'Evision.CUDACodec.EncodeParamsRcMode',
'cudacodec.EncodeMultiPass': 'Evision.CUDACodec.EncodeMultiPass',
'cudacodec.EncodeProfile': 'Evision.CUDACodec.EncodeProfile',
'cudacodec.EncodePreset': 'Evision.CUDACodec.EncodePreset',
'cudacodec.EncodeTuningInfo': 'Evision.CUDACodec.EncodeTuningInfo',
'cudacodec.ChromaFormat': 'Evision.CUDACodec.ChromaFormat',
'cudacodec.DeinterlaceMode': 'Evision.CUDACodec.DeinterlaceMode',
'cudacodec.VideoReaderProps': 'Evision.CUDACodec.VideoReaderProps',
'cudacodec.BitDepth': 'Evision.CUDACodec.BitDepth',
'cudacodec.SurfaceFormat': 'Evision.CUDACodec.SurfaceFormat',
'cudacodec.ColorSpaceStandard': 'Evision.CUDACodec.ColorSpaceStandard',
'datasets.actionType': 'Evision.Datasets.ActionType',
'datasets.backgroundType': 'Evision.Datasets.BackgroundType',
'datasets.datasetType': 'Evision.Datasets.DatasetType',
'datasets.genderType': 'Evision.Datasets.GenderType',
'datasets.illuminationType': 'Evision.Datasets.IlluminationType',
'datasets.imageType': 'Evision.Datasets.ImageType',
'datasets.poseType': 'Evision.Datasets.PoseType',
'datasets.sampleType': 'Evision.Datasets.SampleType',
'detail.Blender': 'Evision.Detail.Blender',
'detail.CvFeatureParams.FeatureType': 'Evision.Detail.CvFeatureParams.FeatureType',
'detail.DpSeamFinder.CostFunction': 'Evision.Detail.DpSeamFinder.CostFunction',
'detail.ExposureCompensator': 'Evision.Detail.ExposureCompensator',
'detail.GraphCutSeamFinderBase.CostType': 'Evision.Detail.GraphCutSeamFinderBase.CostType',
'detail.SeamFinder': 'Evision.Detail.SeamFinder',
'detail.Timelapser': 'Evision.Detail.Timelapser',
'detail.TrackerContribSamplerCSC': 'Evision.Detail.TrackerContribSamplerCSC',
'detail.TrackerSamplerCS': 'Evision.Detail.TrackerSamplerCS',
'detail.TrackerSamplerCSC.MODE': 'Evision.Detail.TrackerSamplerCSC.MODE',
'detail.WaveCorrectKind': 'Evision.Detail.WaveCorrectKind',
'fisheye': 'Evision.FishEye',
'ft': 'Evision.Ft',
'flann': 'Evision.Flann',
'flann.flann_algorithm_t': 'Evision.Flann.Algorithm',
'flann.flann_centers_init_t': 'Evision.Flann.CentersInit',
'flann.flann_log_level_t': 'Evision.Flann.LogLevel',
'flann.flann_distance_t': 'Evision.Flann.Distance',
'flann.flann_datatype_t': 'Evision.Flann.Datatype',
'kinfu.VolumeType': 'Evision.KinFu.VolumeType',
'mcc.TYPECHART': 'Evision.MCC.TYPECHART',
'ml.LogisticRegression.Methods': 'Evision.ML.LogisticRegression.Methods',
'ml.SVMSGD.MarginType': 'Evision.ML.SVMSGD.MarginType',
'multicalib.MultiCameraCalibration': 'Evision.MultiCalib.MultiCameraCalibration',
'omnidir': 'Evision.Omnidir',
'optflow.GPCDescType': 'Evision.OptFlow.GPCDescType',
'optflow.InterpolationType': 'Evision.OptFlow.InterpolationType',
'optflow.SolverType': 'Evision.OptFlow.SolverType',
'optflow.SupportRegionType': 'Evision.OptFlow.SupportRegionType',
'rgbd.DepthCleaner.DEPTH_CLEANER_METHOD': 'Evision.RGBD.DepthCleaner.DEPTH_CLEANER_METHOD',
'rgbd.Odometry': 'Evision.RGBD.Odometry',
'rgbd.OdometryFrame': 'Evision.RGBD.OdometryFrame',
'rgbd.RgbdNormals.RGBD_NORMALS_METHOD': 'Evision.RGBD.RgbdNormals.RGBD_NORMALS_METHOD',
'rgbd.RgbdPlane.RGBD_PLANE_METHOD': 'Evision.RGBD.RgbdPlane.RGBD_PLANE_METHOD',
'stereo.StereoBinaryBM': 'Evision.Stereo.StereoBinaryBM',
'stereo.StereoBinarySGBM': 'Evision.Stereo.StereoBinarySGBM',
'stereo.StereoMatcher': 'Evision.Stereo.StereoMatcher',
'text': 'Evision.Text',
'text.classifier_type': 'Evision.Text.ClassifierType',
'text.decoder_mode': 'Evision.Text.DecoderMode',
'text.erGrouping_Modes': 'Evision.Text.ERGroupingModes',
'text.ocr_engine_mode': 'Evision.Text.OCREngineMode',
'text.page_seg_mode': 'Evision.Text.PageSegMode',
'videostab.MotionModel': 'Evision.VideoStab.MotionModel',
'xfeatures2d.BEBLID.BeblidSize': 'Evision.XFeatures2D.BEBLID.BeblidSize',
'xfeatures2d.DAISY.NormalizationType': 'Evision.XFeatures2D.DAISY.NormalizationType',
'xfeatures2d.PCTSignatures.DistanceFunction': 'Evision.XFeatures2D.PCTSignatures.DistanceFunction',
'xfeatures2d.PCTSignatures.PointDistribution': 'Evision.XFeatures2D.PCTSignatures.PointDistribution',
'xfeatures2d.PCTSignatures.SimilarityFunction': 'Evision.XFeatures2D.PCTSignatures.SimilarityFunction',
'xfeatures2d.TEBLID.TeblidSize': 'Evision.XFeatures2D.TEBLID.TeblidSize',
'ximgproc.AngleRangeOption': 'Evision.XImgProc.AngleRangeOption',
'ximgproc.EdgeAwareFiltersList': 'Evision.XImgProc.EdgeAwareFiltersList',
'ximgproc.EdgeDrawing.GradientOperator': 'Evision.XImgProc.EdgeDrawing.GradientOperator',
'ximgproc.HoughDeskewOption': 'Evision.XImgProc.HoughDeskewOption',
'ximgproc.HoughOp': 'Evision.XImgProc.HoughOp',
'ximgproc.LocalBinarizationMethods': 'Evision.XImgProc.LocalBinarizationMethods',
'ximgproc.SLICType': 'Evision.XImgProc.SLICType',
'ximgproc.ThinningTypes': 'Evision.XImgProc.ThinningTypes',
'ximgproc.WMFWeightType': 'Evision.XImgProc.WMFWeightType',
'img_hash.BlockMeanHashMode': 'Evision.ImgHash.BlockMeanHashMode',
'structured_light': 'Evision.StructuredLight',
'stereo': 'Evision.Stereo',
'detail.TestOp': 'Evision.Detail.TestOp',
'cuda.HostMem.AllocType': 'Evision.CUDA.HostMem.AllocType',
'cuda.Event.CreateFlags': 'Evision.CUDA.Event.CreateFlags',
'cuda.FeatureSet': 'Evision.CUDA.FeatureSet',
'cuda.DeviceInfo.ComputeMode': 'Evision.CUDA.DeviceInfo.ComputeMode',
'_InputArray.KindFlag': 'Evision.Mat.KindFlag',
'_OutputArray.DepthMask': 'Evision.Mat.DepthMask',
'ocl.Device': 'Evision.OCL.Device',
'ocl.KernelArg': 'Evision.OCL.KernelArg',
'ocl.OclVectorStrategy': 'Evision.OCL.OclVectorStrategy',
'ogl.Buffer.Target': 'Evision.OGL.Buffer.Target',
'ogl.Buffer.Access': 'Evision.OGL.Buffer.Access',
'ogl.Texture2D.Format': 'Evision.OGL.Texture2D.Format',
'ogl.RenderModes': 'Evision.OGL.RenderModes',
'flann.FlannIndexType': 'Evision.Flann.FlannIndexType',
'ml.VariableTypes': 'Evision.ML.VariableTypes',
'ml.ErrorTypes': 'Evision.ML.ErrorTypes',
'ml.SampleTypes': 'Evision.ML.SampleTypes',
'ml.StatModel.Flags': 'Evision.ML.StatModel.Flags',
'ml.KNearest.Types': 'Evision.ML.KNearest.Types',
'ml.SVM.Types': 'Evision.ML.SVM.Types',
'ml.SVM.KernelTypes': 'Evision.ML.SVM.KernelTypes',
'ml.SVM.ParamTypes': 'Evision.ML.SVM.ParamTypes',
'ml.EM.Types': 'Evision.ML.EM.Types',
'ml.EM': 'Evision.ML.EM',
'ml.DTrees.Flags': 'Evision.ML.DTrees.Flags',
'ml.Boost.Types': 'Evision.ML.Boost.Types',
'ml.ANN_MLP.TrainingMethods': 'Evision.ML.ANN_MLP.TrainingMethods',
'ml.ANN_MLP.ActivationFunctions': 'Evision.ML.ANN_MLP.ActivationFunctions',
'ml.ANN_MLP.TrainFlags': 'Evision.ML.ANN_MLP.TrainFlags',
'ml.LogisticRegression.RegKinds': 'Evision.ML.LogisticRegression.RegKinds',
'ml.SVMSGD.SvmsgdType': 'Evision.ML.SVMSGD.SvmsgdType',
'xphoto.TransformTypes': 'Evision.XPhoto.TransformTypes',
'xphoto.Bm3dSteps': 'Evision.XPhoto.Bm3dSteps',
'xphoto.InpaintTypes': 'Evision.XPhoto.InpaintTypes',
'dnn.Backend': 'Evision.DNN.Backend',
'dnn.Target': 'Evision.DNN.Target',
'dnn.DataLayout': 'Evision.DNN.DataLayout',
'dnn.ImagePaddingMode': 'Evision.DNN.ImagePaddingMode',
'dnn.SoftNMSMethod': 'Evision.DNN.SoftNMSMethod',
# Exposed by upstream 4.13's preprocessor-aware hdr_parser; the older
# parser silently skipped these blocks.
'instr.TYPE': 'Evision.Instr.TYPE',
'instr.IMPL': 'Evision.Instr.IMPL',
'instr.FLAGS': 'Evision.Instr.FLAGS',
'utils.logging.LogLevel': 'Evision.Utils.Logging.LogLevel',
}