nautilus | R Documentation |
Hello, and welcome to NAUTILUS! NAUTILUS is an R package designed to help you analyze sensor system peformance by comparing the sensor-determined positions of targets to the true (GPS-determined) positions. The overall goal of NAUTILUS is to provide a simple, flexible, and transparent way to explore sensor performance and help answer a wide range of different questions in ways that are easy to explain to others. NAUTILUS is intended for exploratory analysis, rather than rigorous evaluation of radar performance metrics.
truthData data frame containing all of the truth data for each target (likely from GPS or land-based radar systems). MUST have the following columns:
time: (double) time of measurement. We currently recommend POSIX
lon: (double) longitude of target at time of measurement
lat: (double) latitude of target at time of measurement
alt: (double) altitude of target at time of measurement
truthID: (factor) name or identifier for target. We recommend letters or names
heading: (double) target heading in degrees azimuth
sensorData: data frame containing each sensor point for all of the tracks. MUST have the following columns:
time: (double) time of measurement. We currently recommend POSIX
lon: (double) longitude of target at time of measurement
lat: (double) latitude of target at time of measurement
alt: (double) altitude of target at time of measurement
trackNum: (factor) identifier for the track. We recommend numbers for each unique track returned by the sensor system
ownShipData: data frame containing all of the truth position of the sensor system (likely from GPS or land-based radar systems). This may be ownship if testing something on a ship or the lat/lon position of a stationary ststem. MUST have the following columns:
time: (double) time of measurement. We currently recommend POSIX
lon: (double) longitude of target at time of measurement
lat: (double) latitude of target at time of measurement
alt: (double) altitude of target at time of measurement
truthID: (factor) name or identifier for target. We recommend letters or names
heading: (double) sensor system heading in degrees azimuth
The primary purpose of Nautilus is to associate track to truth data, which is done in two steps:
target_track_distance
(truthData, sensorData,ownShipData)
target_assignment
(method, cutoff, ...)
with the output of the first piped into the second. The choices of 'mode' in target_assignment
are:
"point": point method of target assignment. Calls target_assignment.point(). Requires additional parameters "cutoff"
"wholeTrack": whole track method of target assignment. Calls target_assignment.track(). Requires additional parameters "cutoff"
"windowSquare": square window method of target assignment. Calls target_assignment.window(), requires additional parameters "cutoff" and "windowSize"
"windowGauss": Gaussian window method of target assignment. Calls target_assignment.gauss(). Requires additional parameters "cutoff" and "windowSize"
"user": user-specified method of target assignment. Calls target_assignment.user(). Requires additional parameters "userAssignedVector"
For many reasons users may want to run target_assignment() twice. In that case, see target_assignment_secondpass
The ouput of target_assignment is a dataframe with the following columns:
lonError: difference in longitude between the sensor point and assigned target at the time of the sensor point
latError: difference in latitude between the sensor point and assigned target at the time of the sensor point
altError: difference in altitude between the sensor point and assigned target at the time of the sensor point
bearingToTarget: bearing (azimuth) to target from ownship at the time of the sensor point
trackNum: the track number associated with this sensor data point
tgtAssigned: the ID of the target assigned to this sensor point
locationError: distance between sensor point and target at the given time
pointIndex: index referring to which of the original sensor data points this target-track pair refers. Necessary for comparisons in target_assignment()
time: the time that this sensor point was recorded
bearingError: difference in bearing between the sensor point and target at the time of the sensor point
downrangeError: difference in range to ownship between the sensor point and target
lon: longitude of the sensor point
lat: latitude of the sensor point
alt: altitude of the sensor point
rangeToShip: range from target to ownship at the time of the sensor data point
targetAspect: target aspect (as seen from ownship) at the time of the sensor data point
meanLocationError: (only in square and gauss window methods) mean distance between sensor point and target for all of the points included in the window
isFalseTrack: boolean indicating whether a point is outside the cutoff and therefore considered a false track
tgtXtrack: factor expressing the truthID.trackNum interaction
segmentNumber: an integer counting the number of times during which a single track is assigned to a particular target
Nautilus has a wide array of plotting functions:
plot_compare_track_status
plot_coverage_by_target
plot_distance_data
plot_distance_data_plotly
plot_error
plot_overall_coverage
plot_polar_error
plot_scatterplot_with_density
plot_target_assignments
plot_target_assignments_plotly
plot_track_status
plot_track_status_plotly
plot_tracks_per_target
plot_truth_data
plot_truth_data_plotly
plot_truth_gaps
Nautilus has several functions that return helpful tables of information:
summarize_performance
summarize_time_tracked
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.