NVIDIA DeepStream SDK API Reference

6.4 Release
nv_aisle_csvparser.hpp
Go to the documentation of this file.
1 
18 #ifndef _NV_AISLE_CSVPARSER_HPP_
19 #define _NV_AISLE_CSVPARSER_HPP_
20 
21 
22 #include <iostream>
23 #include <fstream>
24 #include <map>
25 #include <vector>
26 #include <string>
27 
28 using namespace std;
29 
30 namespace nvaisle_csv {
33 typedef struct _NvAisleCsvFields
34 {
35  uint32_t cameraId;
36  uint32_t rowId;
37  string level;
38  string cameraIDString;
40  string aisleIdStr;
41  uint32_t aisleId;
44  double dewarpTopAngle, dewarpBottomAngle, dewarpPitch, dewarpYaw, dewarpRoll;
46  uint32_t numROIpoints;
48  float ROI_x0, ROI_y0, ROI_x1, ROI_y1, ROI_x2, ROI_y2, ROI_x3, ROI_y3,
49  ROI_x4, ROI_y4, ROI_x5, ROI_y5, ROI_x6, ROI_y6, ROI_x7, ROI_y7;
51  float gx0, gy0, gx1, gy1, gx2, gy2, gx3, gy3, cx0, cy0, cx1, cy1, cx2, cy2, cx3, cy3;
52 
53  int entry;
54  int exit;
56  float entry_ROI_x0, entry_ROI_y0, entry_ROI_x1, entry_ROI_y1, entry_ROI_x2,
57  entry_ROI_y2, entry_ROI_x3, entry_ROI_y3;
59  float exit_ROI_x0, exit_ROI_y0, exit_ROI_x1, exit_ROI_y1, exit_ROI_x2,
60  exit_ROI_y2, exit_ROI_x3, exit_ROI_y3;
61  string sensorId;
63  uint32_t dewarpWidth;
64  uint32_t dewarpHeight;
66  double h0, h1, h2, h3, h4, h5, h6, h7, h8;
67 
69 
71 typedef std::map<uint32_t, NvAisleCsvFields> _AisleIndex_Map;
72 
74 typedef std::map<uint32_t, _AisleIndex_Map> _AisleCSVMap;
75 
77 typedef std::map<string, uint32_t> _AisleCameraMap;
78 
80 typedef std::map<uint32_t, uint32_t> _AisleCameraViews;
81 
82 typedef std::pair<_AisleIndex_Map::iterator, bool> _AisleIndexMap_Result;
83 typedef std::pair<_AisleCSVMap::iterator, bool> _AisleCSVMap_Result;
84 typedef std::pair<_AisleCameraMap::iterator, bool> _AisleCameraMap_Result;
85 typedef std::pair<_AisleCameraViews::iterator, bool> _AisleCameraView_Result;
90 {
91  private:
92  _AisleCSVMap CSVMap;
93  _AisleCameraViews CameraViews;
94 
95  string csvFileName;
96 
98  void LoadCSVData();
99  void DestroyCSVParser();
100 
104  uint32_t prepareAisleCSVMaxViews (uint32_t cam_id, vector<int>* vector_surface_index);
105 
106  public:
107  ~AisleCSVParser();
108 
112  int getNvAisleCSVFields (uint32_t cam_id, uint32_t aisle_id, NvAisleCsvFields *fields);
115  uint32_t getNvAisleCSVMaxViews (uint32_t cam_id, vector<int>* vector_surface_index);
116 
118  void getNvAisleCSVData(std::vector<NvAisleCsvFields> &csvAisleData);
119 
121  void printNvAisleCSVData(void);
123  void printNvAisleCSVData(uint32_t cam_id, uint32_t aisle_id);
125  void printAisleCSVFields(NvAisleCsvFields val);
126 
127  AisleCSVParser(string CSVFileName);
128 };
129 
130 }
131 #endif
nvaisle_csv::AisleCSVParser
Class for parsing of Aisle CSV data.
Definition: nv_aisle_csvparser.hpp:89
nvaisle_csv::_AisleCameraView_Result
std::pair< _AisleCameraViews::iterator, bool > _AisleCameraView_Result
Definition: nv_aisle_csvparser.hpp:85
nvaisle_csv::_AisleCameraMap
std::map< string, uint32_t > _AisleCameraMap
std::map<camera-ipaddress, camera-id>
Definition: nv_aisle_csvparser.hpp:77
nvaisle_csv::_NvAisleCsvFields::gy3
float gy3
Definition: nv_aisle_csvparser.hpp:51
nvaisle_csv::_NvAisleCsvFields::h8
double h8
Definition: nv_aisle_csvparser.hpp:66
nvaisle_csv
Definition: nv_aisle_csvparser.hpp:30
nvaisle_csv::_NvAisleCsvFields::entry_ROI_y1
float entry_ROI_y1
Definition: nv_aisle_csvparser.hpp:56
nvaisle_csv::_AisleCameraMap_Result
std::pair< _AisleCameraMap::iterator, bool > _AisleCameraMap_Result
Definition: nv_aisle_csvparser.hpp:84
nvaisle_csv::_AisleIndexMap_Result
std::pair< _AisleIndex_Map::iterator, bool > _AisleIndexMap_Result
Definition: nv_aisle_csvparser.hpp:82
nvaisle_csv::_NvAisleCsvFields::dewarpFocalLength
float dewarpFocalLength
Focal Lenght of camera lens, in pixels per radian.
Definition: nv_aisle_csvparser.hpp:62
nvaisle_csv::_NvAisleCsvFields::exit
int exit
exit - 0 indicates no exit ROI, 1 indicates valid exit ROI
Definition: nv_aisle_csvparser.hpp:54
nvaisle_csv::_NvAisleCsvFields::ROI_y7
float ROI_y7
Definition: nv_aisle_csvparser.hpp:49
nvaisle_csv::_NvAisleCsvFields
Data structure contaning all the parameters specified in one row of an Aisle CSV file.
Definition: nv_aisle_csvparser.hpp:33
nvaisle_csv::_AisleIndex_Map
std::map< uint32_t, NvAisleCsvFields > _AisleIndex_Map
std::map<camera_id, NvAisleCsvFields>
Definition: nv_aisle_csvparser.hpp:71
nvaisle_csv::_NvAisleCsvFields::cameraIDString
string cameraIDString
Camera ID String.
Definition: nv_aisle_csvparser.hpp:38
nvaisle_csv::_NvAisleCsvFields::entry
int entry
entry - 0 indicates no entry ROI, 1 indicates valid entry ROI
Definition: nv_aisle_csvparser.hpp:53
nvaisle_csv::_NvAisleCsvFields::exit_ROI_y1
float exit_ROI_y1
Definition: nv_aisle_csvparser.hpp:59
nvaisle_csv::_NvAisleCsvFields::dewarpHeight
uint32_t dewarpHeight
dewarped surface height
Definition: nv_aisle_csvparser.hpp:64
nvaisle_csv::_NvAisleCsvFields::aisleIdStr
string aisleIdStr
Aisle ID string.
Definition: nv_aisle_csvparser.hpp:40
nvaisle_csv::_NvAisleCsvFields::rowId
uint32_t rowId
Row entry number in the CSV file.
Definition: nv_aisle_csvparser.hpp:36
nvaisle_csv::_NvAisleCsvFields::aisleId
uint32_t aisleId
Set to 0/1 corrsponding to A0/A1 present in "aisleIdStr".
Definition: nv_aisle_csvparser.hpp:41
nvaisle_csv::_NvAisleCsvFields::sensorId
string sensorId
Sensor ID String.
Definition: nv_aisle_csvparser.hpp:61
nvaisle_csv::_NvAisleCsvFields::exit_ROI_y3
float exit_ROI_y3
Definition: nv_aisle_csvparser.hpp:60
nvaisle_csv::_NvAisleCsvFields::dewarpYaw
double dewarpYaw
Definition: nv_aisle_csvparser.hpp:44
nvaisle_csv::_NvAisleCsvFields::cameraId
uint32_t cameraId
Serial number for each Aisle View Camera Entry.
Definition: nv_aisle_csvparser.hpp:35
nvaisle_csv::NvAisleCsvFields
struct nvaisle_csv::_NvAisleCsvFields NvAisleCsvFields
Data structure contaning all the parameters specified in one row of an Aisle CSV file.
nvaisle_csv::_NvAisleCsvFields::numROIpoints
uint32_t numROIpoints
Number of ROI co-ordinates.
Definition: nv_aisle_csvparser.hpp:46
nvaisle_csv::_NvAisleCsvFields::dewarpWidth
uint32_t dewarpWidth
dewarped surface width
Definition: nv_aisle_csvparser.hpp:63
nvaisle_csv::_NvAisleCsvFields::level
string level
Parking Level.
Definition: nv_aisle_csvparser.hpp:37
nvaisle_csv::_AisleCSVMap
std::map< uint32_t, _AisleIndex_Map > _AisleCSVMap
std::map<camera_id, _AisleIndex_Map>
Definition: nv_aisle_csvparser.hpp:74
nvaisle_csv::_NvAisleCsvFields::entry_ROI_y3
float entry_ROI_y3
Definition: nv_aisle_csvparser.hpp:57
nvaisle_csv::_AisleCSVMap_Result
std::pair< _AisleCSVMap::iterator, bool > _AisleCSVMap_Result
Definition: nv_aisle_csvparser.hpp:83
nvaisle_csv::_NvAisleCsvFields::ROI_y3
float ROI_y3
Definition: nv_aisle_csvparser.hpp:48
nvaisle_csv::_AisleCameraViews
std::map< uint32_t, uint32_t > _AisleCameraViews
std::map<camera-id, num_aisle_views>
Definition: nv_aisle_csvparser.hpp:80