# opentl::modalities::BackgroundSub Class Reference

GPU-based foreground/background segmentation modality. More...

Inherits opentl::modalities::Modality.

List of all members.

## Public Types
## Public Member Functions
| BackgroundSub (const BackgroundSub &b)
| Copy Constructor.
| BackgroundSub (opentl::modelprojection::Warp *warp, opentl::modelprojection::GLRenderer *GLRender, int camIdx)
| Modality for background subtraction and matching purpose.
virtual modalities::Modality * | clone () const
| Clone the current instance.
const opentl::core::cvdata::Image & | getSegmentationImage ()
virtual void | init ()
| Needed init() method for parameter handling.
virtual int | matchPixLevel (const TargetPtrVector &targets, T_MEAS_PIXPtrVector &outputMeas, std::size_t partitionIdx)
| Matching on pixel level compare pixel-level image data with expected map, by projecting model data under a predicted state.
virtual int | preProcess (const opentl::core::cvdata::Image &image, const std::vector< std::vector< int > > &preProcessROIs)
| Preprocessing and segmentation in order to get model free unassociated data.
void | updateBackgroundModel (const opentl::core::cvdata::Image &image)
| Samples from a reference image, since this is a static background segmentation Only needed for the GPU background subtractor.
virtual | ~BackgroundSub ()
| Destructor.

## Detailed Description

GPU-based foreground/background segmentation modality.

## Member Enumeration Documentation

enum opentl::modalities::BackgroundSub::OfflineParameters

Enumerator:

  matchUsingIntegralImage | (bool) Whether to compute and use the integral image of Z, for faster residual computation (default: false)
  matchPixUsingResidualImage | (bool) Whether to compute the residual image or a scalar (= pixel count) (default: false)
  useGPU | (bool) Whether to use the GPU-based background subtractor or the CPU one (default: true)
  preProcessBackgroundSubGPUParam | cvprocess::BackgroundSubGPU::Param --- will be removed !
  preProcessBackgroundSubParam | cvprocess::BackgroundSub::Param --- will be removed !
  OFFLINE_COUNT |

Reimplemented from opentl::modalities::Modality.

enum opentl::modalities::BackgroundSub::OnlineParameters

Enumerator:

  matchPixelRInvVariance | (double) Inverse variance of pixel-level measurement (default: 1.0)
  preProcess_waitForFinished | (bool) Parameter passed on to the GPU background subtraction class (default: false)
  ONLINE_COUNT |

Reimplemented from opentl::modalities::Modality.

## Constructor & Destructor Documentation

opentl::modalities::BackgroundSub::BackgroundSub | ( | opentl::modelprojection::Warp * | warp,
|  | opentl::modelprojection::GLRenderer * | GLRender,
|  | int | camIdx |
| ) |  |  |

Modality for background subtraction and matching purpose.

Parameters:

  | warp | global instance of a warp class
  | GLRender | global instance of a GLRenderer class
  | camIdx | camera index
  | param | Additional parameters for the background subtractor

opentl::modalities::BackgroundSub::BackgroundSub | ( | const BackgroundSub & | b | ) |

Copy Constructor.

Parameters:

  | b | Source BackgroundSub instance

virtual opentl::modalities::BackgroundSub::~BackgroundSub | ( |  | ) | `[virtual]`

Destructor.

## Member Function Documentation

virtual modalities::Modality* opentl::modalities::BackgroundSub::clone | ( |  | ) | const`[virtual]`

Clone the current instance.

Returns:
  Pointer to a newly created identical instance

Implements opentl::modalities::Modality.

const opentl::core::cvdata::Image& opentl::modalities::BackgroundSub::getSegmentationImage | ( |  | ) |

virtual void opentl::modalities::BackgroundSub::init | ( |  | ) | `[virtual]`

Needed init() method for parameter handling.

Reimplemented from opentl::modalities::Modality.

virtual int opentl::modalities::BackgroundSub::matchPixLevel | ( | const TargetPtrVector & | targets,
|  | T_MEAS_PIXPtrVector & | outputMeas,
|  | std::size_t | partitionIdx |
| ) |  |  | `[virtual]`

Matching on pixel level

- compare pixel-level image data with expected map, by projecting model data under a predicted state.

Parameters:

  | targets | Vector of targets
  | outputMeas | Pixel-space measurement (can be a pixel map of residuals, or a unique residual value)

Reimplemented from opentl::modalities::Modality.

virtual int opentl::modalities::BackgroundSub::preProcess | ( | const opentl::core::cvdata::Image & | image,
|  | const std::vector< std::vector< int > > & | preProcessROIs |
| ) |  |  | `[virtual]`

Preprocessing and segmentation in order to get model free unassociated data.

Parameters:

  | image | Input sensor data (e.g. camera image in RGB)
  | preProcessROIs | Regions of interest (x0,y0,width,height), per target

Reimplemented from opentl::modalities::Modality.

void opentl::modalities::BackgroundSub::updateBackgroundModel | ( | const opentl::core::cvdata::Image & | image | ) |

Samples from a reference image, since this is a static background segmentation Only needed for the GPU background subtractor.

Parameters:

  | image | Reference image