NVIDIA DeepStream SDK API Reference

9.0 Release
9.0/sources/includes/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;
63  float dewarpFocalLength;
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;
90 class AisleCSVParser
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::_AisleIndexMap_Result
std::pair< _AisleIndex_Map::iterator, bool > _AisleIndexMap_Result
Definition: sources/includes/nv_aisle_csvparser.hpp:83
nvaisle_csv::_AisleIndex_Map
std::map< uint32_t, NvAisleCsvFields > _AisleIndex_Map
std::map<camera_id, NvAisleCsvFields>
Definition: sources/includes/nv_aisle_csvparser.hpp:72
nvaisle_csv
Definition: sources/includes/nv_aisle_csvparser.hpp:31
nvaisle_csv::_AisleCameraView_Result
std::pair< _AisleCameraViews::iterator, bool > _AisleCameraView_Result
Definition: sources/includes/nv_aisle_csvparser.hpp:86
nvaisle_csv::_AisleCameraMap_Result
std::pair< _AisleCameraMap::iterator, bool > _AisleCameraMap_Result
Definition: sources/includes/nv_aisle_csvparser.hpp:85
nvaisle_csv::_AisleCameraMap
std::map< string, uint32_t > _AisleCameraMap
std::map<camera-ipaddress, camera-id>
Definition: sources/includes/nv_aisle_csvparser.hpp:78
nvaisle_csv::_AisleCSVMap
std::map< uint32_t, _AisleIndex_Map > _AisleCSVMap
std::map<camera_id, _AisleIndex_Map>
Definition: sources/includes/nv_aisle_csvparser.hpp:75
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::_AisleCSVMap_Result
std::pair< _AisleCSVMap::iterator, bool > _AisleCSVMap_Result
Definition: sources/includes/nv_aisle_csvparser.hpp:84
nvaisle_csv::_AisleCameraViews
std::map< uint32_t, uint32_t > _AisleCameraViews
std::map<camera-id, num_aisle_views>
Definition: sources/includes/nv_aisle_csvparser.hpp:81