48 lines
1.1 KiB
C++
48 lines
1.1 KiB
C++
#pragma once
|
|
#include "SG_baseDataType.h"
|
|
|
|
typedef enum
|
|
{
|
|
/** The Constant DERIV_R. */
|
|
DERIV_R = 1, /* Derivative in row direction */
|
|
|
|
/** The Constant DERIV_C. */
|
|
DERIV_C, /* Derivative in column direction */
|
|
|
|
/** The Constant DERIV_RR. */
|
|
DERIV_RR, /* Second derivative in row direction */
|
|
|
|
/** The Constant DERIV_RC. */
|
|
DERIV_RC, /* Second derivative in row and column direction */
|
|
|
|
/** The Constant DERIV_CC. */
|
|
DERIV_CC, /* Second derivative in column direction */
|
|
}DERIV_TYPE;
|
|
|
|
typedef enum
|
|
{
|
|
/** The Constant MODE_LIGHT. */
|
|
MODE_LIGHT = 1, /* Extract bright lines */
|
|
|
|
/** The Constant MODE_DARK. */
|
|
MODE_DARK, /* Extract dark lines */
|
|
}CONVOLVE_MODE;
|
|
|
|
|
|
/** The Constant INITIAL_SIZE. */
|
|
#define INITIAL_SIZE 100
|
|
|
|
/** The Constant REALLOC_FACTOR. */
|
|
#define REALLOC_FACTOR 2
|
|
|
|
|
|
double* compute_gauss_mask_1(int* num, double sigma);
|
|
double* compute_gauss_mask_2(int* num, double sigma);
|
|
|
|
void wd_convolveGauss_laserLine(
|
|
std::vector<SVzNL3DPosition>& a_line,
|
|
int startId, int endId,
|
|
std::vector<double>& gaussConvolve_1st,
|
|
std::vector<double>& gaussConvolve_2nd,
|
|
float chkWidth, float scale);
|