Class SuperCell

Inheritance Relationships

Base Types

Derived Types

Class Documentation

class cpphots::interfaces::SuperCell : public virtual cpphots::interfaces::Streamable, public cpphots::interfaces::ClonableBase<SuperCell>

Interface for a modifier that subsample the layer into super cells.

Usually such modifiers, changes the output coordinates of the events using cells, thus reducing the output dimensionality.

Modifiers can also average time surfaces from the same cell.

Subclassed by cpphots::interfaces::Clonable< SuperCell, interfaces::SuperCell >, cpphots::interfaces::Clonable< SuperCellAverage, SuperCell >

Public Functions

inline ~SuperCell()

Destroy the SuperCell object.

virtual std::pair<uint16_t, uint16_t> findCell(uint16_t ex, uint16_t ey) const = 0

Find the coordinates of the cell that contains certain coordinates.

Parameters
  • ex – x coordinate of the event

  • ey – y coordinate of the event

Returns

cell coordinates

virtual std::pair<uint16_t, uint16_t> getSize() const = 0

Returns the size of the context.

Returns

{width, height}

virtual std::pair<uint16_t, uint16_t> getCellSizes() const = 0

Get the number of the horizontal and vertical cells.

Returns

{horizontal cells, vertical cells}

virtual TimeSurfaceType averageTS(const TimeSurfaceType &ts, uint16_t cx, uint16_t cy) = 0

Average time surfaces over a cell.

Parameters
  • ts – new time surface computed

  • cx – x coordinate of the cell

  • cy – y coordinate of the cell

Returns

averaged time surface