Module: limbFinding

Executive Summary

Module reads in a message containing a pointer to an image and writes out the pixels that are on the lit limb of the planet.

The module PDF Description contains further information on this module’s function, how to run it, as well as testing.

Message Connection Descriptions

The following table lists all the module input and output messages. The module msg connection is set by the user from python. The msg type contains a link to the message structure definition, while the description provides information on what this message is used for.

Module I/O Messages

Msg Variable Name

Msg Type

Description

opnavLimbOutMsg

OpNavLimbMsgPayload

output navigation message for relative position

imageInMsg

CameraImageMsgPayload

camera image input message


class LimbFinding : public SysModel
#include <limbFinding.h>

visual limb finding module

Public Functions

LimbFinding()

The constructor for the HoughCircles module. It also sets some default values at its creation.

~LimbFinding()

This is the destructor

void UpdateState(uint64_t CurrentSimNanos)

This module reads an OpNav image and extracts limb points from its content using OpenCV’s Canny Transform. It performs a greyscale, and blur on the image to facilitate edge-detection.

Parameters:

CurrentSimNanos – The clock time at which the function was called (nanoseconds)

Returns:

void

void Reset(uint64_t CurrentSimNanos)

This method performs a complete reset of the module. Local module variables that retain time varying states between function calls are reset to their default values.

Parameters:

CurrentSimNanos – The clock time at which the function was called (nanoseconds)

Returns:

void

Public Members

std::string filename

Filename for module to read an image directly.

Message<OpNavLimbMsgPayload> opnavLimbOutMsg

The name of the Limb output message.

ReadFunctor<CameraImageMsgPayload> imageInMsg

The name of the camera output message.

std::string saveDir

Directory to save images to.

uint64_t sensorTimeTag

[ns] Current time tag for sensor out

int32_t blurrSize

[px] Size of the blurring box in pixels

int32_t cannyThreshHigh

[px] Canny edge detection Threshold

int32_t cannyThreshLow

[-] Second Threshold for Canny detection

int32_t saveImages

[-] 1 to save images to file for debugging

int32_t limbNumThresh

[-] Threshold for when a limb is detected

BSKLogger bskLogger

&#8212; BSK Logging