Versions in this module Expand all Collapse all v0 v0.8.0 Jul 18, 2026 v0.7.0 Jul 18, 2026 v0.6.0 Jul 18, 2026 v0.5.0 Jul 16, 2026 v0.4.0 Jul 12, 2026 Changes in this version + func CombineGrayAndPhase(fringeOrder []int, wrapped []float64) []float64 + func CombineMasks(masks ...[]bool) []bool + func ComputeAmplitude(captured []*cv.Mat, shift float64) []float64 + func ComputeBackground(captured []*cv.Mat, shift float64) []float64 + func ComputeDataModulation(captured []*cv.Mat, shift float64) []float64 + func EncodePatternPNG(m *cv.Mat) ([]byte, error) + func FTPWrappedPhase(img *cv.Mat, horizontal bool) []float64 + func FTPWrappedPhaseBand(img *cv.Mat, horizontal bool, carrier, band int) []float64 + func HeterodyneUnwrap(levels []FrequencyPhase, rows, cols int, horizontal bool) ([]float64, error) + func ModulationMask(mod []float64, minMod float64) []bool + func MultiFrequencyUnwrap(levels []FrequencyPhase, rows, cols int, horizontal bool) ([]float64, error) + func NStepWrappedPhase(captured []*cv.Mat, shift float64) []float64 + func OverexposureMask(images []*cv.Mat, sat uint8) []bool + func PhaseGradientQuality(wrapped []float64, rows, cols int) []float64 + func PhaseToCoord(abs []float64, freq float64, extent int) []float64 + func QualityGuidedUnwrap(wrapped, quality []float64, rows, cols int) []float64 + func SavePatternPNG(path string, m *cv.Mat) error + func SavePatternStack(dir, prefix string, stack []*cv.Mat) ([]string, error) + func ShadowMask(white, black *cv.Mat, thresh int) []bool + func TriangulatePoint(cam, proj CameraMatrix, camX, camY, projCol, projRow float64) [3]float64 + func WrapPhase(a float64) float64 + func WritePatternPNG(w io.Writer, m *cv.Mat) error + type CameraMatrix struct + P [3][4]float64 + func NewPinhole(k, r [3][3]float64, t [3]float64) CameraMatrix + func (c CameraMatrix) Project(x [3]float64) (u, v float64) + type CodePattern struct + BlackThreshold int + Encoding Encoding + Height int + WhiteThreshold int + Width int + func NewCodePattern(p GrayCodeParams, enc Encoding) *CodePattern + func (c *CodePattern) Decode(captured []*cv.Mat, white, black *cv.Mat) (*Decoded, error) + func (c *CodePattern) Generate() []*cv.Mat + func (c *CodePattern) NumColBits() int + func (c *CodePattern) NumRowBits() int + func (c *CodePattern) NumberOfPatternImages() int + func (c *CodePattern) ReferenceImages() (white, black *cv.Mat) + type Encoding int + const EncodingBinary + const EncodingGray + func (e Encoding) String() string + type FrequencyPhase struct + Frequency float64 + Wrapped []float64 + type PointCloud struct + PixelX []int + PixelY []int + Points [][3]float64 + func Triangulate(dec *Decoded, cam, proj CameraMatrix) *PointCloud + func TriangulateStereo(matches []StereoMatch, leftCam, rightCam CameraMatrix) *PointCloud + func (pc *PointCloud) Len() int + type StereoMatch struct + Col int + LeftX int + LeftY int + RightX int + RightY int + Row int + func StereoDecode(left, right *Decoded) []StereoMatch v0.3.0 Jul 12, 2026 Changes in this version + const DefaultBlackThreshold + const DefaultWhiteThreshold + func CoordMapToMat(coord []int, rows, cols, maxVal int) *cv.Mat + func MaskToMat(mask []bool, rows, cols int) *cv.Mat + func PhaseMapToMat(phase []float64, rows, cols int) *cv.Mat + func UnwrapPhaseMap(wrapped []float64, rows, cols int, horizontal bool) []float64 + type Decoded struct + Col []int + Cols int + Mask []bool + Row []int + Rows int + func (d *Decoded) At(y, x int) (col, row int, ok bool) + type GrayCodeParams struct + Height int + Width int + type GrayCodePattern struct + BlackThreshold int + Height int + WhiteThreshold int + Width int + func NewGrayCodePattern(p GrayCodeParams) *GrayCodePattern + func (g *GrayCodePattern) Decode(captured []*cv.Mat, white, black *cv.Mat) (*Decoded, error) + func (g *GrayCodePattern) Generate() []*cv.Mat + func (g *GrayCodePattern) NumColBits() int + func (g *GrayCodePattern) NumRowBits() int + func (g *GrayCodePattern) NumberOfPatternImages() int + func (g *GrayCodePattern) ReferenceImages() (white, black *cv.Mat) + type Params struct + Frequency int + Height int + Horizontal bool + NumOfPatternImages int + Shift float64 + Width int + type SinusoidalPattern struct + func NewSinusoidalPattern(params Params) *SinusoidalPattern + func (s *SinusoidalPattern) ComputeWrappedPhase(captured []*cv.Mat) []float64 + func (s *SinusoidalPattern) Generate() []*cv.Mat + func (s *SinusoidalPattern) Params() Params + func (s *SinusoidalPattern) PhaseShift() float64