NVIDIA DeepStream SDK API Reference

8.0 Release
nv_spot_csvparser.hpp
Go to the documentation of this file.
1 
18 #ifndef _NV_SPOT_CSVPARSER_HPP_
19 #define _NV_SPOT_CSVPARSER_HPP_
20 
21 #include <iostream>
22 #include <fstream>
23 #include <map>
24 #include <vector>
25 #include <string>
26 #include <cstdint>
27 
28 using namespace std;
29 
30 namespace nvspot_csv {
33 typedef struct _NvSpotCsvFields
34 {
35  uint32_t cameraId;
36  uint32_t rowId;
37  string cameraIdString;
38  uint32_t surfaceid;
39  uint32_t spot_index;
40  string level;
41  string spotId;
43  double dewarpTopAngle, dewarpBottomAngle, dewarpPitch, dewarpYaw, dewarpRoll;
44  uint32_t vertical_left;
45  uint32_t vertical_right;
47  uint32_t Horizon_x1, Horizon_y1, Horizon_x2, Horizon_y2;
49  uint32_t spot_roi_x1, spot_roi_y1, spot_roi_x2, spot_roi_y2;
50 
52  float x0, y0, x1, y1, x2, y2, x3, y3;
53  float lng0, lat0, lng1, lat1, lng2, lat2, lng3, lat3;
54 
55  string sensorId;
58  uint32_t dewarpWidth;
59  uint32_t dewarpHeight;
60  uint32_t num_views;
62 
64 typedef std::map<std::pair<uint32_t, uint32_t>, NvSpotCsvFields> _SpotIndex_Map;
65 typedef std::map<uint32_t, _SpotIndex_Map> _SpotCSVMap;
66 
68 typedef std::map<string, uint32_t> _SpotCameraMap;
69 
71 typedef std::map<uint32_t, uint32_t> _SpotCameraViews;
72 
73 typedef std::pair<_SpotIndex_Map::iterator, bool> _SpotIndexMap_Result;
74 typedef std::pair<_SpotCSVMap::iterator, bool> _SpotCSVMap_Result;
75 typedef std::pair<_SpotCameraMap::iterator, bool> _SpotCameraMap_Result;
76 typedef std::pair<_SpotCameraViews::iterator, bool> _SpotCameraView_Result;
77 
82 {
83  private:
84  _SpotCSVMap CSVMap;
85  _SpotCameraViews CameraViews;
86 
87  string csvFileName;
88 
89  void LoadCSVData();
90  void DestroyCSVParser();
91  uint32_t prepareSpotCSVMaxViews (uint32_t cam_id, vector<int>* vector_surface_index);
92 
93  public:
94  ~SpotCSVParser();
95 
99  int getNvSpotCSVFields (uint32_t cam_id, uint32_t surface_id, uint32_t spot_id, NvSpotCsvFields *fields);
102  uint32_t getNvSpotCSVMaxViews (uint32_t cam_id, vector<int>* array_surface_index);
104  void getNvSpotCSVData(std::vector<NvSpotCsvFields> &csvSpotData);
106  void printNvSpotCSVData(void);
108  void printNvSpotCSVData(uint32_t cam_id, uint32_t surface_id, uint32_t spot_id);
110  void printSpotCSVFields(NvSpotCsvFields val);
111 
112  SpotCSVParser(string CSVFileName);
113 };
114 
115 }
116 
117 #endif
nvspot_csv::_SpotCSVMap_Result
std::pair< _SpotCSVMap::iterator, bool > _SpotCSVMap_Result
Definition: nv_spot_csvparser.hpp:74
nvspot_csv::_SpotCameraMap
std::map< string, uint32_t > _SpotCameraMap
std::map<camera-ipaddress, camera-id>
Definition: nv_spot_csvparser.hpp:68
nvspot_csv::_NvSpotCsvFields::rowId
uint32_t rowId
Row entry number in the CSV file.
Definition: nv_spot_csvparser.hpp:36
nvspot_csv::NvSpotCsvFields
struct nvspot_csv::_NvSpotCsvFields NvSpotCsvFields
Data structure contaning all the parameters specified in one row of a Spot CSV file.
nvspot_csv::_NvSpotCsvFields::dewarpFocalLength
float dewarpFocalLength
Focal Lenght of camera lens, in pixels per radian.
Definition: nv_spot_csvparser.hpp:57
nvspot_csv::_SpotCSVMap
std::map< uint32_t, _SpotIndex_Map > _SpotCSVMap
Definition: nv_spot_csvparser.hpp:65
nvspot_csv::_SpotCameraMap_Result
std::pair< _SpotCameraMap::iterator, bool > _SpotCameraMap_Result
Definition: nv_spot_csvparser.hpp:75
nvspot_csv::_NvSpotCsvFields::sensorId
string sensorId
Sensor ID String.
Definition: nv_spot_csvparser.hpp:55
nvspot_csv::_NvSpotCsvFields::dewarpWidth
uint32_t dewarpWidth
dewarped surface width
Definition: nv_spot_csvparser.hpp:58
nvspot_csv::_NvSpotCsvFields::y3
float y3
Definition: nv_spot_csvparser.hpp:52
nvspot_csv::_NvSpotCsvFields::surfaceid
uint32_t surfaceid
Definition: nv_spot_csvparser.hpp:38
nvspot_csv::_NvSpotCsvFields::spot_roi_y2
uint32_t spot_roi_y2
Definition: nv_spot_csvparser.hpp:49
nvspot_csv::_NvSpotCsvFields::cameraIdString
string cameraIdString
Camera ID String.
Definition: nv_spot_csvparser.hpp:37
nvspot_csv::_NvSpotCsvFields::spotId
string spotId
Unique Spot ID.
Definition: nv_spot_csvparser.hpp:41
nvspot_csv::_NvSpotCsvFields::num_views
uint32_t num_views
Definition: nv_spot_csvparser.hpp:60
nvspot_csv::_SpotIndex_Map
std::map< std::pair< uint32_t, uint32_t >, NvSpotCsvFields > _SpotIndex_Map
std::map<std::pair<surface_id, spot_index>, NvSpotCsvFields>
Definition: nv_spot_csvparser.hpp:64
nvspot_csv::_NvSpotCsvFields::dewarpYaw
double dewarpYaw
Definition: nv_spot_csvparser.hpp:43
nvspot_csv::_NvSpotCsvFields::dewarpHeight
uint32_t dewarpHeight
dewarped surface height
Definition: nv_spot_csvparser.hpp:59
nvspot_csv::_NvSpotCsvFields::lng3
float lng3
Definition: nv_spot_csvparser.hpp:53
nvspot_csv::SpotCSVParser
Class for parsing of Spot CSV data.
Definition: nv_spot_csvparser.hpp:81
nvspot_csv::_SpotIndexMap_Result
std::pair< _SpotIndex_Map::iterator, bool > _SpotIndexMap_Result
Definition: nv_spot_csvparser.hpp:73
nvspot_csv::_NvSpotCsvFields::cameraId
uint32_t cameraId
Serial number for each Spot View Camera Entry.
Definition: nv_spot_csvparser.hpp:35
nvspot_csv::_SpotCameraViews
std::map< uint32_t, uint32_t > _SpotCameraViews
std::map<camera-id, num_spot_views>
Definition: nv_spot_csvparser.hpp:71
nvspot_csv::_NvSpotCsvFields::spot_index
uint32_t spot_index
Surface Index 0,1 corrosponding to Spot View.
Definition: nv_spot_csvparser.hpp:39
nvspot_csv
Definition: nv_spot_csvparser.hpp:30
nvspot_csv::_NvSpotCsvFields::level
string level
Definition: nv_spot_csvparser.hpp:40
nvspot_csv::_NvSpotCsvFields::Horizon_y2
uint32_t Horizon_y2
Definition: nv_spot_csvparser.hpp:47
nvspot_csv::_SpotCameraView_Result
std::pair< _SpotCameraViews::iterator, bool > _SpotCameraView_Result
Definition: nv_spot_csvparser.hpp:76
nvspot_csv::_NvSpotCsvFields::vertical_right
uint32_t vertical_right
Definition: nv_spot_csvparser.hpp:45
nvspot_csv::_NvSpotCsvFields
Data structure contaning all the parameters specified in one row of a Spot CSV file.
Definition: nv_spot_csvparser.hpp:33
nvspot_csv::_NvSpotCsvFields::vertical_left
uint32_t vertical_left
Definition: nv_spot_csvparser.hpp:44