source: trunk/src/Detection/ObjectGrower.hh @ 754

Last change on this file since 754 was 742, checked in by MatthewWhiting, 14 years ago

Work for #99 - a new class to do the growing in a more transparent way, keeping track of the state of all voxels. Minor change made to Voxel class.

File size: 747 bytes
Line 
1#ifndef OBJECT_GROWER_H
2#define OBJECT_GROWER_H
3
4#include <iostream>
5#include <duchamp/duchamp.hh>
6#include <Detection/detection.hh>
7#include <Cubes/cubes.hh>
8#include <duchamp/Utils/Statistics.hh>
9
10namespace duchamp {
11
12
13  enum STATE {AVAILABLE, DETECTED, BLANK, MW};
14
15  class ObjectGrower
16  {
17  public:
18    ObjectGrower();
19    virtual ~ObjectGrower(){};
20    ObjectGrower(ObjectGrower &o);
21    ObjectGrower& operator=(const ObjectGrower &o);
22
23    void define(Cube *theCube);
24    void grow(Detection *theObject);
25
26  protected:
27    std::vector<STATE> itsFlagArray;
28    std::vector<long> itsArrayDim;
29    Statistics::StatsContainer<float> itsGrowthStats;
30    int itsSpatialThresh;
31    int itsVelocityThresh;
32    float* itsFluxArray;
33  };
34
35}
36
37
38#endif
Note: See TracBrowser for help on using the repository browser.