NVIDIA DeepStream SDK API Reference

8.0 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 #include <cstdint>
28 
29 using namespace std;
30 
31 namespace nvaisle_csv {
34 typedef struct _NvAisleCsvFields
35 {
36  uint32_t cameraId;
37  uint32_t rowId;
38  string level;
39  string cameraIDString;
41  string aisleIdStr;
42  uint32_t aisleId;
45  double dewarpTopAngle, dewarpBottomAngle, dewarpPitch, dewarpYaw, dewarpRoll;
47  uint32_t numROIpoints;
49  float ROI_x0, ROI_y0, ROI_x1, ROI_y1, ROI_x2, ROI_y2, ROI_x3, ROI_y3,
50  ROI_x4, ROI_y4, ROI_x5, ROI_y5, ROI_x6, ROI_y6, ROI_x7, ROI_y7;
52  float gx0, gy0, gx1, gy1, gx2, gy2, gx3, gy3, cx0, cy0, cx1, cy1, cx2, cy2, cx3, cy3;
53 
54  int entry;
55  int exit;
57  float entry_ROI_x0, entry_ROI_y0, entry_ROI_x1, entry_ROI_y1, entry_ROI_x2,
58  entry_ROI_y2, entry_ROI_x3, entry_ROI_y3;
60  float exit_ROI_x0, exit_ROI_y0, exit_ROI_x1, exit_ROI_y1, exit_ROI_x2,
61  exit_ROI_y2, exit_ROI_x3, exit_ROI_y3;
62  string sensorId;
64  uint32_t dewarpWidth;
65  uint32_t dewarpHeight;
67  double h0, h1, h2, h3, h4, h5, h6, h7, h8;
68 
70 
72 typedef std::map<uint32_t, NvAisleCsvFields> _AisleIndex_Map;
73 
75 typedef std::map<uint32_t, _AisleIndex_Map> _AisleCSVMap;
76 
78 typedef std::map<string, uint32_t> _AisleCameraMap;
79 
81 typedef std::map<uint32_t, uint32_t> _AisleCameraViews;
82 
83 typedef std::pair<_AisleIndex_Map::iterator, bool> _AisleIndexMap_Result;
84 typedef std::pair<_AisleCSVMap::iterator, bool> _AisleCSVMap_Result;
85 typedef std::pair<_AisleCameraMap::iterator, bool> _AisleCameraMap_Result;
86 typedef std::pair<_AisleCameraViews::iterator, bool> _AisleCameraView_Result;
91 {
92  private:
93  _AisleCSVMap CSVMap;
94  _AisleCameraViews CameraViews;
95 
96  string csvFileName;
97 
99  void LoadCSVData();
100  void DestroyCSVParser();
101 
105  uint32_t prepareAisleCSVMaxViews (uint32_t cam_id, vector<int>* vector_surface_index);
106 
107  public:
108  ~AisleCSVParser();
109 
113  int getNvAisleCSVFields (uint32_t cam_id, uint32_t aisle_id, NvAisleCsvFields *fields);
116  uint32_t getNvAisleCSVMaxViews (uint32_t cam_id, vector<int>* vector_surface_index);
117 
119  void getNvAisleCSVData(std::vector<NvAisleCsvFields> &csvAisleData);
120 
122  void printNvAisleCSVData(void);
124  void printNvAisleCSVData(uint32_t cam_id, uint32_t aisle_id);
126  void printAisleCSVFields(NvAisleCsvFields val);
127 
128  AisleCSVParser(string CSVFileName);
129 };
130 
131 }
132 #endif
nvaisle_csv::AisleCSVParser
Class for parsing of Aisle CSV data.
Definition: nv_aisle_csvparser.hpp:90
nvaisle_csv::_AisleCameraView_Result
std::pair< _AisleCameraViews::iterator, bool > _AisleCameraView_Result
Definition: nv_aisle_csvparser.hpp:86
nvaisle_csv::_AisleCameraMap
std::map< string, uint32_t > _AisleCameraMap
std::map<camera-ipaddress, camera-id>
Definition: nv_aisle_csvparser.hpp:78
nvaisle_csv::_NvAisleCsvFields::gy3
float gy3
Definition: nv_aisle_csvparser.hpp:52
nvaisle_csv::_NvAisleCsvFields::h8
double h8
Definition: nv_aisle_csvparser.hpp:67
nvaisle_csv
Definition: nv_aisle_csvparser.hpp:31
nvaisle_csv::_NvAisleCsvFields::entry_ROI_y1
float entry_ROI_y1
Definition: nv_aisle_csvparser.hpp:57
nvaisle_csv::_AisleCameraMap_Result
std::pair< _AisleCameraMap::iterator, bool > _AisleCameraMap_Result
Definition: nv_aisle_csvparser.hpp:85
nvaisle_csv::_AisleIndexMap_Result
std::pair< _AisleIndex_Map::iterator, bool > _AisleIndexMap_Result
Definition: nv_aisle_csvparser.hpp:83
nvaisle_csv::_NvAisleCsvFields::dewarpFocalLength
float dewarpFocalLength
Focal Lenght of camera lens, in pixels per radian.
Definition: nv_aisle_csvparser.hpp:63
nvaisle_csv::_NvAisleCsvFields::exit
int exit
exit - 0 indicates no exit ROI, 1 indicates valid exit ROI
Definition: nv_aisle_csvparser.hpp:55
nvaisle_csv::_NvAisleCsvFields::ROI_y7
float ROI_y7
Definition: nv_aisle_csvparser.hpp:50
nvaisle_csv::_NvAisleCsvFields
Data structure contaning all the parameters specified in one row of an Aisle CSV file.
Definition: nv_aisle_csvparser.hpp:34
nvaisle_csv::_AisleIndex_Map
std::map< uint32_t, NvAisleCsvFields > _AisleIndex_Map
std::map<camera_id, NvAisleCsvFields>
Definition: nv_aisle_csvparser.hpp:72
nvaisle_csv::_NvAisleCsvFields::cameraIDString
string cameraIDString
Camera ID String.
Definition: nv_aisle_csvparser.hpp:39
nvaisle_csv::_NvAisleCsvFields::entry
int entry
entry - 0 indicates no entry ROI, 1 indicates valid entry ROI
Definition: nv_aisle_csvparser.hpp:54
nvaisle_csv::_NvAisleCsvFields::exit_ROI_y1
float exit_ROI_y1
Definition: nv_aisle_csvparser.hpp:60
nvaisle_csv::_NvAisleCsvFields::dewarpHeight
uint32_t dewarpHeight
dewarped surface height
Definition: nv_aisle_csvparser.hpp:65
nvaisle_csv::_NvAisleCsvFields::aisleIdStr
string aisleIdStr
Aisle ID string.
Definition: nv_aisle_csvparser.hpp:41
nvaisle_csv::_NvAisleCsvFields::rowId
uint32_t rowId
Row entry number in the CSV file.
Definition: nv_aisle_csvparser.hpp:37
nvaisle_csv::_NvAisleCsvFields::aisleId
uint32_t aisleId
Set to 0/1 corrsponding to A0/A1 present in "aisleIdStr".
Definition: nv_aisle_csvparser.hpp:42
nvaisle_csv::_NvAisleCsvFields::sensorId
string sensorId
Sensor ID String.
Definition: nv_aisle_csvparser.hpp:62
nvaisle_csv::_NvAisleCsvFields::exit_ROI_y3
float exit_ROI_y3
Definition: nv_aisle_csvparser.hpp:61
nvaisle_csv::_NvAisleCsvFields::dewarpYaw
double dewarpYaw
Definition: nv_aisle_csvparser.hpp:45
nvaisle_csv::_NvAisleCsvFields::cameraId
uint32_t cameraId
Serial number for each Aisle View Camera Entry.
Definition: nv_aisle_csvparser.hpp:36
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:47
nvaisle_csv::_NvAisleCsvFields::dewarpWidth
uint32_t dewarpWidth
dewarped surface width
Definition: nv_aisle_csvparser.hpp:64
nvaisle_csv::_NvAisleCsvFields::level
string level
Parking Level.
Definition: nv_aisle_csvparser.hpp:38
nvaisle_csv::_AisleCSVMap
std::map< uint32_t, _AisleIndex_Map > _AisleCSVMap
std::map<camera_id, _AisleIndex_Map>
Definition: nv_aisle_csvparser.hpp:75
nvaisle_csv::_NvAisleCsvFields::entry_ROI_y3
float entry_ROI_y3
Definition: nv_aisle_csvparser.hpp:58
nvaisle_csv::_AisleCSVMap_Result
std::pair< _AisleCSVMap::iterator, bool > _AisleCSVMap_Result
Definition: nv_aisle_csvparser.hpp:84
nvaisle_csv::_NvAisleCsvFields::ROI_y3
float ROI_y3
Definition: nv_aisle_csvparser.hpp:49
nvaisle_csv::_AisleCameraViews
std::map< uint32_t, uint32_t > _AisleCameraViews
std::map<camera-id, num_aisle_views>
Definition: nv_aisle_csvparser.hpp:81