object Calibration extends CalibrationBase
reads the calibration information from the JSON config file, and instantiate the transform matrix, ROI etc per sensor
this calibration implementation deals with geo coordinates
example usage
dataset // of Message .map(msg => Calibration.transform(msg, config)) .filter(msg => Calibration.pointInPolygon(msg.`object`.location, msg.sensor.id, config)) //
- Alphabetic
- By Inheritance
- Calibration
- CalibrationBase
- Serializable
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
lazy val
appConfig: Config
- Definition Classes
- CalibrationBase
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
lazy val
cameraSet: Set[String]
camera set
camera set
- Definition Classes
- CalibrationBase
- Annotations
- @transient()
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
-
var
config: Map[String, String]
for performance reason, while running in spark, singleton Calibration is used in a given executor
for performance reason, while running in spark, singleton Calibration is used in a given executor
while running outside of spark the below config needs to be set before running any operations
- Definition Classes
- CalibrationBase
-
def
contains(sensorId: String, c: Map[String, String] = Map.empty): Boolean
checks if cameraSet contains the given sensor
checks if cameraSet contains the given sensor
- Definition Classes
- Calibration → CalibrationBase
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
euclideanDistance(p1: Point, p2: Point): Double
function to compute euclidean distance between two points
function to compute euclidean distance between two points
- Definition Classes
- CalibrationBase
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
gethomographyMap: Map[String, (Location, Mat, List[Shape])]
- Definition Classes
- Calibration → CalibrationBase
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
haversineDistance(p1: Location, p2: Location): Double
function to compute great circle distance between two points(lat, lon)
function to compute great circle distance between two points(lat, lon)
- Definition Classes
- CalibrationBase
-
lazy val
homographyMap: Map[String, (Location, Mat, List[Shape])]
Map containing sensor-id -> (Location, HMatrix, roi_polygons) HMatrix, transform matrix, maps camera coordinates to global coordinates (in meters) Location, lat-lon representation of the origin (0.0) on which global coordinates are based on roi_polygons, defines the roi/s for a given camera, points falling outside roi/road will be discarded
Map containing sensor-id -> (Location, HMatrix, roi_polygons) HMatrix, transform matrix, maps camera coordinates to global coordinates (in meters) Location, lat-lon representation of the origin (0.0) on which global coordinates are based on roi_polygons, defines the roi/s for a given camera, points falling outside roi/road will be discarded
- Annotations
- @transient()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
pointInPolygon(loc: Location, sensorId: String, configbc: Map[String, String] = Map.empty): Boolean
checks if the given Location falls within the ROI for the given intersection
checks if the given Location falls within the ROI for the given intersection
- Definition Classes
- Calibration → CalibrationBase
-
def
pointInPolygon(loc: Coordinate, sensorId: String, configbc: Map[String, String]): Boolean
checks if the given Coordinate falls within the ROI for the given intersection
checks if the given Coordinate falls within the ROI for the given intersection
- Definition Classes
- Calibration → CalibrationBase
-
def
reProjectionError(imageP: Point, expected: Point, hMatrix: Mat): Double
re projection error
re projection error
- Definition Classes
- Calibration → CalibrationBase
-
def
sensorMap: Map[String, Sensor]
lookup table/map for id -> Sensor
lookup table/map for id -> Sensor
- Definition Classes
- Calibration → CalibrationBase
-
lazy val
sensors: Array[Sensor]
array of sensors/sensors, read from the configuration file
array of sensors/sensors, read from the configuration file
- Definition Classes
- CalibrationBase
- Annotations
- @transient()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
tranformBbox(bbox: Bbox, sensorId: String): (Coordinate, Location)
Transform image coordinates bbox to latitude-longitude based on Homography Matrix for a given sensor-id
Also transform lat-lon to Global coordinates (cartesian) , with respect to a given origin
The transform matrix and the origin and initialized from a external configuration
returns Global coordinates and lat-lonTransform image coordinates bbox to latitude-longitude based on Homography Matrix for a given sensor-id
Also transform lat-lon to Global coordinates (cartesian) , with respect to a given origin
The transform matrix and the origin and initialized from a external configuration
returns Global coordinates and lat-lon- Definition Classes
- Calibration → CalibrationBase
-
def
transform(msg: Message, configuration: Map[String, String] = Map.empty): Message
transform image coordinates to real world coordinates Also updates the location/place based on configuration
transform image coordinates to real world coordinates Also updates the location/place based on configuration
- Definition Classes
- CalibrationBase
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated