[inst/extdata/asalmon_mcw/main.r:2:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/inst/extdata/asalmon_mcw/main.r#L2) *style:* **Variable or function name should be snake_case.**
```r
LAMBDA_var <- 0.1 #Thin plate spline smoothing. Lambda=0 would be interpolation.
^~~~~~~~~~
```
[inst/extdata/asalmon_mcw/main.r:3:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/inst/extdata/asalmon_mcw/main.r#L3) *style:* **Variable or function name should be snake_case.**
```r
RESOLUTION_var <- 500 #Plot width in pixels
^~~~~~~~~~~~~~
```
[inst/extdata/asalmon_mcw/main.r:5:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/inst/extdata/asalmon_mcw/main.r#L5) *style:* **Lines should not be more than 80 characters.**
```r
#TODO change path. make sure this main.r script is just outside the diagram_retina folder.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[inst/extdata/asalmon_mcw/main.r:8:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/inst/extdata/asalmon_mcw/main.r#L8) *style:* **Lines should not be more than 80 characters.**
```r
#todo verify these. see the tutorial here: https://github.com/bc/retina/blob/master/tutorial.md search for the part that starts with "#[V point of the tear,"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[inst/extdata/asalmon_mcw/main.r:10:10:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/inst/extdata/asalmon_mcw/main.r#L10) *style:* **Commas should always have a space after.**
```r
    c(59,52,67),
         ^
```
[inst/extdata/asalmon_mcw/main.r:10:13:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/inst/extdata/asalmon_mcw/main.r#L10) *style:* **Commas should always have a space after.**
```r
    c(59,52,67),
            ^
```
[inst/extdata/asalmon_mcw/main.r:11:10:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/inst/extdata/asalmon_mcw/main.r#L11) *style:* **Commas should always have a space after.**
```r
    c(79,73,85),
         ^
```
[inst/extdata/asalmon_mcw/main.r:11:13:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/inst/extdata/asalmon_mcw/main.r#L11) *style:* **Commas should always have a space after.**
```r
    c(79,73,85),
            ^
```
[inst/extdata/asalmon_mcw/main.r:12:10:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/inst/extdata/asalmon_mcw/main.r#L12) *style:* **Commas should always have a space after.**
```r
    c(34,31,37))
         ^
```
[inst/extdata/asalmon_mcw/main.r:12:13:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/inst/extdata/asalmon_mcw/main.r#L12) *style:* **Commas should always have a space after.**
```r
    c(34,31,37))
            ^
```
[inst/extdata/asalmon_mcw/main.r:15:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/inst/extdata/asalmon_mcw/main.r#L15) *style:* **Lines should not be more than 80 characters.**
```r
assemble_markup_file('left', path_to_retina_data_folder, nasal_outline_index=1, dorsal_outline_index=NA)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[inst/extdata/asalmon_mcw/main.r:15:22:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/inst/extdata/asalmon_mcw/main.r#L15) *style:* **Only use double-quotes.**
```r
assemble_markup_file('left', path_to_retina_data_folder, nasal_outline_index=1, dorsal_outline_index=NA)
                     ^~~~~~
```
[inst/extdata/asalmon_mcw/main.r:15:77:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/inst/extdata/asalmon_mcw/main.r#L15) *style:* **Put spaces around all infix operators.**
```r
assemble_markup_file('left', path_to_retina_data_folder, nasal_outline_index=1, dorsal_outline_index=NA)
                                                                           ~^~
```
[inst/extdata/asalmon_mcw/main.r:15:101:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/inst/extdata/asalmon_mcw/main.r#L15) *style:* **Put spaces around all infix operators.**
```r
assemble_markup_file('left', path_to_retina_data_folder, nasal_outline_index=1, dorsal_outline_index=NA)
                                                                                ~^~
```
[inst/extdata/asalmon_mcw/main.r:29:21:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/inst/extdata/asalmon_mcw/main.r#L29) *style:* **Commas should never have a space before.**
```r
        height = 45 ,# height of the counting frame in microns
                   ~^
```
[inst/extdata/asalmon_mcw/main.r:29:22:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/inst/extdata/asalmon_mcw/main.r#L29) *style:* **Commas should always have a space after.**
```r
        height = 45 ,# height of the counting frame in microns
                     ^
```
[inst/extdata/asalmon_mcw/main.r:34:28:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/inst/extdata/asalmon_mcw/main.r#L34) *style:* **Commas should never have a space before.**
```r
        extrapolate = TRUE ,          #Predicts densities to the equator.
                          ~^
```
[inst/extdata/asalmon_mcw/main.r:36:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/inst/extdata/asalmon_mcw/main.r#L36) *style:* **Lines should not be more than 80 characters.**
```r
        rotation_ccw = -90, # when set to -90 degrees, the rotation is unaltered from the measured orientation.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[inst/extdata/asalmon_mcw/main.r:37:22:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/inst/extdata/asalmon_mcw/main.r#L37) *style:* **Put spaces around all infix operators.**
```r
        plot_suppress=TRUE)
                    ~^~
```
[inst/extdata/asalmon_mcw/main.r:39:29:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/inst/extdata/asalmon_mcw/main.r#L39) *style:* **Put spaces around all infix operators.**
```r
retinaplot(my_retina, lambda=0.001, polynomial_m=   2, rotation=0)
                           ~^~
```
[inst/extdata/asalmon_mcw/main.r:39:49:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/inst/extdata/asalmon_mcw/main.r#L39) *style:* **Put spaces around all infix operators.**
```r
retinaplot(my_retina, lambda=0.001, polynomial_m=   2, rotation=0)
                                               ~^
```
[inst/extdata/asalmon_mcw/main.r:39:64:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/inst/extdata/asalmon_mcw/main.r#L39) *style:* **Put spaces around all infix operators.**
```r
retinaplot(my_retina, lambda=0.001, polynomial_m=   2, rotation=0)
                                                              ~^~
```
[inst/extdata/asalmon_mcw/main.r:40:10:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/inst/extdata/asalmon_mcw/main.r#L40) *style:* **Put spaces around all infix operators.**
```r
par(mfrow=c(2,2))
        ~^~
```
[inst/extdata/asalmon_mcw/main.r:40:15:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/inst/extdata/asalmon_mcw/main.r#L40) *style:* **Commas should always have a space after.**
```r
par(mfrow=c(2,2))
              ^
```
[R/composite.R:2:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/composite.R#L2) *style:* **Lines should not be more than 80 characters.**
```r
##' @description This is a subfunction, that is useful when creating average maps.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/composite.R:3:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/composite.R#L3) *style:* **Lines should not be more than 80 characters.**
```r
##' @param retina_list A list containing retina objects, with names(retina_list) all defined.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/composite.R:4:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/composite.R#L4) *style:* **Lines should not be more than 80 characters.**
```r
##' @param rotation_indices Each value in this vector will correspond to the amount of rotation applied to each retina in the list.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/composite.R:5:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/composite.R#L5) *style:* **Lines should not be more than 80 characters.**
```r
##' @param ... Arguments passed from other functions. You can access the thin plate spline interpolator here.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/composite.R:6:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/composite.R#L6) *style:* **Lines should not be more than 80 characters.**
```r
##' @return sum_mat The sum of all retina objects in the list, with respect to the rotation indices.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/composite.R:9:16:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/composite.R#L9) *warning:* **no visible global function definition for ‘mat_from_ret_obj’**
```r
    sum_mat <- mat_from_ret_obj(retina_list[[1]], rotation = 0, ...)
               ^~~~~~~~~~~~~~~~
```
[R/composite.R:12:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/composite.R#L12) *style:* **Lines should not be more than 80 characters.**
```r
        sum_mat <- sum_mat + mat_from_ret_obj(retina_list[[i]], rotation_indices[i],
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/composite.R:12:85:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/composite.R#L12) *style:* **Trailing whitespace is superfluous.**
```r
        sum_mat <- sum_mat + mat_from_ret_obj(retina_list[[i]], rotation_indices[i],
                                                                                ^
```
[R/matrix_retobj.R:3:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/matrix_retobj.R#L3) *style:* **Lines should not be more than 80 characters.**
```r
##' You can decide how much to rotate the retina before returning the matrix. You can also pass arguments to the polar plotter.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/matrix_retobj.R:6:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/matrix_retobj.R#L6) *style:* **Lines should not be more than 80 characters.**
```r
##' @param n the number by which to divide the matrix by. Useful when generating partial averages.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/matrix_retobj.R:7:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/matrix_retobj.R#L7) *style:* **Lines should not be more than 80 characters.**
```r
##' @param reflect logical, by default it is TRUE, in order to view the retina from outside the eye (rather than from within.)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/matrix_retobj.R:12:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/matrix_retobj.R#L12) *style:* **Lines should not be more than 80 characters.**
```r
mat_from_ret_obj <- function(retina_object, rotation = 0, n = 1, reflect = TRUE,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/matrix_retobj.R:12:81:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/matrix_retobj.R#L12) *style:* **Trailing whitespace is superfluous.**
```r
mat_from_ret_obj <- function(retina_object, rotation = 0, n = 1, reflect = TRUE,
                                                                                ^
```
[R/matrix_retobj.R:17:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/matrix_retobj.R#L17) *style:* **Trailing whitespace is superfluous.**
```r

^~~~
```
[R/matrix_retobj.R:20:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/matrix_retobj.R#L20) *style:* **Lines should not be more than 80 characters.**
```r
    az <- mapproject(x = retina_object$trimmed_data[, 2], retina_object$trimmed_data[,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/matrix_retobj.R:20:87:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/matrix_retobj.R#L20) *style:* **Trailing whitespace is superfluous.**
```r
    az <- mapproject(x = retina_object$trimmed_data[, 2], retina_object$trimmed_data[,
                                                                                ^
```
[R/matrix_retobj.R:25:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/matrix_retobj.R#L25) *style:* **Trailing whitespace is superfluous.**
```r

^~~~
```
[R/matrix_retobj.R:27:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/matrix_retobj.R#L27) *style:* **Lines should not be more than 80 characters.**
```r
    map2fit <- fit_plot_azimuthal(x2, y2, z2, plot_suppress = TRUE, extrapolate = TRUE,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/matrix_retobj.R:27:88:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/matrix_retobj.R#L27) *style:* **Trailing whitespace is superfluous.**
```r
    map2fit <- fit_plot_azimuthal(x2, y2, z2, plot_suppress = TRUE, extrapolate = TRUE,
                                                                                ^
```
[R/matrix_retobj.R:28:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/matrix_retobj.R#L28) *style:* **Lines should not be more than 80 characters.**
```r
        outer_radius = pi/2, falciform_coords = retina_object$azimuthal_data.falciform[[1]],
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/matrix_retobj.R:28:26:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/matrix_retobj.R#L28) *style:* **Put spaces around all infix operators.**
```r
        outer_radius = pi/2, falciform_coords = retina_object$azimuthal_data.falciform[[1]],
                        ~^~
```
[R/matrix_retobj.R:28:93:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/matrix_retobj.R#L28) *style:* **Trailing whitespace is superfluous.**
```r
        outer_radius = pi/2, falciform_coords = retina_object$azimuthal_data.falciform[[1]],
                                                                                ^
```
[R/matrix_retobj.R:30:5:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/matrix_retobj.R#L30) *style:* **Variable or function name should be snake_case.**
```r
    MAT <- map2fit[[2]]$z
    ^~~
```
[R/matrix_retobj.R:32:15:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/matrix_retobj.R#L32) *style:* **Put spaces around all infix operators.**
```r
    return(MAT/n)
             ~^~
```
[R/plotting_functions.R:3:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L3) *style:* **Lines should not be more than 80 characters.**
```r
##' Extracts xy and falciform coordinates from datapoints collected from retistruct. Falc and Datapoints are stacked upon one another
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:5:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L5) *style:* **Lines should not be more than 80 characters.**
```r
##' @param datapoints_from_retistruct data structure that comes from the datapoints.csv, which is automatically generated by Retistruct.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:7:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L7) *style:* **Lines should not be more than 80 characters.**
```r
##' @return L list of pixel xy positions, and falciform coordinates in [1] and [2], respectively
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:9:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L9) *style:* **Lines should not be more than 80 characters.**
```r
extract_xy_and_falciform <- function(datapoints_from_retistruct, number_of_sampling_sites) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:10:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L10) *style:* **Lines should not be more than 80 characters.**
```r
    pixel_xy_positions <- datapoints_from_retistruct[1:number_of_sampling_sites,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:10:81:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L10) *style:* **Trailing whitespace is superfluous.**
```r
    pixel_xy_positions <- datapoints_from_retistruct[1:number_of_sampling_sites,
                                                                                ^
```
[R/plotting_functions.R:12:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L12) *style:* **Lines should not be more than 80 characters.**
```r
    falciform_len <- length(datapoints_from_retistruct[, 1]) - length(pixel_xy_positions[,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:12:91:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L12) *style:* **Trailing whitespace is superfluous.**
```r
    falciform_len <- length(datapoints_from_retistruct[, 1]) - length(pixel_xy_positions[,
                                                                                ^
```
[R/plotting_functions.R:16:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L16) *style:* **Lines should not be more than 80 characters.**
```r
    falciform_coordinates <- datapoints_from_retistruct[(xy_len + 1):total_len, ]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:22:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L22) *style:* **Lines should not be more than 80 characters.**
```r
##' ImageJ values don't always show up the right way, because Y values get larger and positive while moving down the image.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:24:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L24) *style:* **Lines should not be more than 80 characters.**
```r
##' @param falciform_xy_coordinates 2 columns of coordinate (X,Y) data in ImageJ pixel format
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:28:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L28) *style:* **Lines should not be more than 80 characters.**
```r
reflect_IJ_y_values_for_falciform <- function(falciform_xy_coordinates, xy_img_dimensions) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:28:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L28) *style:* **Variable and function names should not be longer than 30 characters.**
```r
reflect_IJ_y_values_for_falciform <- function(falciform_xy_coordinates, xy_img_dimensions) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:28:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L28) *style:* **Variable or function name should be snake_case.**
```r
reflect_IJ_y_values_for_falciform <- function(falciform_xy_coordinates, xy_img_dimensions) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:29:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L29) *style:* **Lines should not be more than 80 characters.**
```r
    falciform_xy_coordinates_transformed <- falciform_xy_coordinates  #make a copy
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:29:5:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L29) *style:* **Variable and function names should not be longer than 30 characters.**
```r
    falciform_xy_coordinates_transformed <- falciform_xy_coordinates  #make a copy
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:31:52:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L31) *style:* **Put spaces around all infix operators.**
```r
    half_of_vertical_pixels <- xy_img_dimensions[2]/2
                                                  ~^~
```
[R/plotting_functions.R:32:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L32) *style:* **Lines should not be more than 80 characters.**
```r
    falciform_xy_coordinates_transformed$cyan <- (falc_y - half_of_vertical_pixels) *
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:32:86:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L32) *style:* **Trailing whitespace is superfluous.**
```r
    falciform_xy_coordinates_transformed$cyan <- (falc_y - half_of_vertical_pixels) *
                                                                                ^
```
[R/plotting_functions.R:38:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L38) *style:* **Lines should not be more than 80 characters.**
```r
##' Shows a visualization of the outline, as well as the location of each datapoint, with fit plot.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:40:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L40) *style:* **Lines should not be more than 80 characters.**
```r
##' @param pixel_xy_positions 2 columns of coordinate (X,Y) data in ImageJ pixel format
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:41:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L41) *style:* **Lines should not be more than 80 characters.**
```r
##' @param z_vector numerical vector of density values for each of the coordinates
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:42:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L42) *style:* **Lines should not be more than 80 characters.**
```r
##' @param xy_outline_points 2 columns of coordinate(X,Y) data in ImageJ pixel format for the outline coordinates.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:45:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L45) *style:* **Lines should not be more than 80 characters.**
```r
traditional_flatmount_plot <- function(pixel_xy_positions, z_vector, xy_outline_points) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:46:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L46) *style:* **Lines should not be more than 80 characters.**
```r
    fit <- Tps(pixel_xy_positions, z_vector)  # fits a surface to ozone measurements.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:46:12:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L46) *warning:* **no visible global function definition for ‘Tps’, Did you mean 'Ops'?**
```r
    fit <- Tps(pixel_xy_positions, z_vector)  # fits a surface to ozone measurements.
           ^~~
```
[R/plotting_functions.R:47:5:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L47) *warning:* **no visible global function definition for ‘set.panel’**
```r
    set.panel(2, 2)
    ^~~~~~~~~
```
[R/plotting_functions.R:49:5:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L49) *warning:* **no visible global function definition for ‘set.panel’**
```r
    set.panel()
    ^~~~~~~~~
```
[R/plotting_functions.R:52:5:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L52) *warning:* **no visible global function definition for ‘surface’**
```r
    surface(fit)  # Quick image/contour plot of GCV surface.
    ^~~~~~~
```
[R/plotting_functions.R:61:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L61) *style:* **Lines should not be more than 80 characters.**
```r
##' Shows a visualization of the outline, as well as the location of each datapoint so the user can identify where the tears are.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:64:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L64) *style:* **Lines should not be more than 80 characters.**
```r
##' @param path_to_retina_data_folder The path to the folder that contains the outline.roi file.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:65:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L65) *style:* **Lines should not be more than 80 characters.**
```r
##' @return roi_coordinates XY vals of pixel coordinates of the outline points, in order.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:69:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L69) *style:* **Lines should not be more than 80 characters.**
```r
    roi_object <- read.ijroi(file.path(path_to_retina_data_folder, "outline.roi"))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:69:19:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L69) *warning:* **no visible global function definition for ‘read.ijroi’**
```r
    roi_object <- read.ijroi(file.path(path_to_retina_data_folder, "outline.roi"))
                  ^~~~~~~~~~
```
[R/plotting_functions.R:70:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L70) *style:* **Trailing whitespace is superfluous.**
```r

^~~~
```
[R/plotting_functions.R:72:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L72) *style:* **Lines should not be more than 80 characters.**
```r
    # format plots has the coordinate (0, 0) in the top left.  We have the coordinate
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:73:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L73) *style:* **Lines should not be more than 80 characters.**
```r
    # (0, 0) in the bottom left. We need to transform P so that the outline appears
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:76:5:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L76) *style:* **Variable or function name should be snake_case.**
```r
    roi_XY_coords <- roi_object$coords
    ^~~~~~~~~~~~~
```
[R/plotting_functions.R:80:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L80) *style:* **Trailing whitespace is superfluous.**
```r

^~~~
```
[R/plotting_functions.R:81:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L81) *style:* **Lines should not be more than 80 characters.**
```r
    plot(roi_XY_coords, type = "l", col = "#d3d3d3", asp = 1, xlab = "X Pixels",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:81:81:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L81) *style:* **Trailing whitespace is superfluous.**
```r
    plot(roi_XY_coords, type = "l", col = "#d3d3d3", asp = 1, xlab = "X Pixels",
                                                                                ^
```
[R/plotting_functions.R:83:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L83) *style:* **Lines should not be more than 80 characters.**
```r
    text(roi_XY_coords[, 1], roi_XY_coords[, 2], labels = 1:length(roi_XY_coords[,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:83:83:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L83) *style:* **Trailing whitespace is superfluous.**
```r
    text(roi_XY_coords[, 1], roi_XY_coords[, 2], labels = 1:length(roi_XY_coords[,
                                                                                ^
```
[R/plotting_functions.R:85:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L85) *style:* **Lines should not be more than 80 characters.**
```r
    message("If you are getting this message, you are using a special feature. Contact me at brian.cohn@usc.edu and I will happily teach you how to use it.")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:93:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L93) *style:* **Lines should not be more than 80 characters.**
```r
##' @description Creates a markup.csv file. One of the dorsal_outline_index or nasal_outline_index must be filled in. Not both.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:96:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L96) *style:* **Lines should not be more than 80 characters.**
```r
##' @param dorsal_outline_index The index of the point that points toward dorsal, or NA.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:97:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L97) *style:* **Lines should not be more than 80 characters.**
```r
##' @param nasal_outline_index The index of the opint that points toward nasal, or NA.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:98:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L98) *style:* **Lines should not be more than 80 characters.**
```r
##' @param path_to_retina_data_folder The path where the markup.csv file will be saved.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:100:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L100) *style:* **Lines should not be more than 80 characters.**
```r
assemble_markup_file <- function(eye_left_or_right, path_to_retina_data_folder, dorsal_outline_index = NA,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:100:107:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L100) *style:* **Trailing whitespace is superfluous.**
```r
assemble_markup_file <- function(eye_left_or_right, path_to_retina_data_folder, dorsal_outline_index = NA,
                                                                                ^
```
[R/plotting_functions.R:103:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L103) *style:* **Lines should not be more than 80 characters.**
```r
        ## https://stackoverflow.com/questions/18509527/first-letter-to-upper-case
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:109:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L109) *style:* **Lines should not be more than 80 characters.**
```r
        line2 <- paste0("NA,", nasal_outline_index, ",",phi0,",NA,TRUE,\"", eye_side_string,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:109:57:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L109) *style:* **Commas should always have a space after.**
```r
        line2 <- paste0("NA,", nasal_outline_index, ",",phi0,",NA,TRUE,\"", eye_side_string,
                                                        ^
```
[R/plotting_functions.R:109:62:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L109) *style:* **Commas should always have a space after.**
```r
        line2 <- paste0("NA,", nasal_outline_index, ",",phi0,",NA,TRUE,\"", eye_side_string,
                                                             ^
```
[R/plotting_functions.R:109:93:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L109) *style:* **Trailing whitespace is superfluous.**
```r
        line2 <- paste0("NA,", nasal_outline_index, ",",phi0,",NA,TRUE,\"", eye_side_string,
                                                                                ^
```
[R/plotting_functions.R:112:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L112) *style:* **Lines should not be more than 80 characters.**
```r
        line2 <- paste0(dorsal_outline_index, ",NA", ",",phi0,",NA,TRUE,\"", eye_side_string,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:112:58:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L112) *style:* **Commas should always have a space after.**
```r
        line2 <- paste0(dorsal_outline_index, ",NA", ",",phi0,",NA,TRUE,\"", eye_side_string,
                                                         ^
```
[R/plotting_functions.R:112:63:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L112) *style:* **Commas should always have a space after.**
```r
        line2 <- paste0(dorsal_outline_index, ",NA", ",",phi0,",NA,TRUE,\"", eye_side_string,
                                                              ^
```
[R/plotting_functions.R:112:94:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L112) *style:* **Trailing whitespace is superfluous.**
```r
        line2 <- paste0(dorsal_outline_index, ",NA", ",",phi0,",NA,TRUE,\"", eye_side_string,
                                                                                ^
```
[R/plotting_functions.R:120:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L120) *style:* **Lines should not be more than 80 characters.**
```r
    message(paste("Wrote markup file to ", output_path, "\n Ensure that it exists beside your outline.roi file"))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:130:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L130) *style:* **Lines should not be more than 80 characters.**
```r
##' @param tear_coordinates_dataframe the dataframe of 3 columns, with c('V0','VB','VF'), and n columns, where n= number of tears
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:131:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L131) *style:* **Lines should not be more than 80 characters.**
```r
##' @param path_to_retina_data_folder The path where the T.csv file will be saved.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:135:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L135) *style:* **Lines should not be more than 80 characters.**
```r
assemble_tear_file <- function(tear_coordinates_dataframe, path_to_retina_data_folder) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:138:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L138) *style:* **Lines should not be more than 80 characters.**
```r
    write.table(tear_coordinates_dataframe, output_path, sep = ",", row.names = FALSE)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:139:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L139) *style:* **Lines should not be more than 80 characters.**
```r
    message(paste("Wrote tear file to ", output_path, "\n Check that it exists beside your outline.roi file"))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:147:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L147) *style:* **Lines should not be more than 80 characters.**
```r
##' @param path_to_retina_data_folder The path where the P.csv file will be saved.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:151:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L151) *style:* **Lines should not be more than 80 characters.**
```r
assemble_point_coordinates_file <- function(outline_coordinates, path_to_retina_data_folder) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:151:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L151) *style:* **Variable and function names should not be longer than 30 characters.**
```r
assemble_point_coordinates_file <- function(outline_coordinates, path_to_retina_data_folder) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:155:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L155) *style:* **Lines should not be more than 80 characters.**
```r
    message(paste("Wrote coordinates file to ", output_path, "\n Check that it exists beside your outline.roi file"))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:177:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L177) *style:* **Variable and function names should not be longer than 30 characters.**
```r
plot_degree_label_for_latitudes <- function(outer_radius, circle.rads) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:177:59:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L177) *style:* **Variable or function name should be snake_case.**
```r
plot_degree_label_for_latitudes <- function(outer_radius, circle.rads) {
                                                          ^~~~~~~~~~~
```
[R/plotting_functions.R:178:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L178) *style:* **Lines should not be more than 80 characters.**
```r
    axis(2, pos = -1.25 * outer_radius, at = sort(union(circle.rads, -circle.rads)),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:178:85:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L178) *style:* **Trailing whitespace is superfluous.**
```r
    axis(2, pos = -1.25 * outer_radius, at = sort(union(circle.rads, -circle.rads)),
                                                                                ^
```
[R/plotting_functions.R:180:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L180) *style:* **Lines should not be more than 80 characters.**
```r
    text(-1.26 * outer_radius, sort(union(circle.rads, -circle.rads)), sort(union(circle.rads,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:180:95:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L180) *style:* **Trailing whitespace is superfluous.**
```r
    text(-1.26 * outer_radius, sort(union(circle.rads, -circle.rads)), sort(union(circle.rads,
                                                                                ^
```
[R/plotting_functions.R:195:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L195) *style:* **Lines should not be more than 80 characters.**
```r
    fields::image.plot(legend.only = TRUE, col = col, zlim = zlim, family = "Palatino")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:202:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L202) *style:* **Lines should not be more than 80 characters.**
```r
##' @param endpoints a 4 element numeric vector describing the xy and x'y' for the line segment.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:206:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L206) *style:* **Lines should not be more than 80 characters.**
```r
    segments(endpoints[1], endpoints[2], endpoints[3], endpoints[4], col = color_hex)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:216:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L216) *style:* **Lines should not be more than 80 characters.**
```r
##' @param endpoints vector of 4 numerics, x,y and x',y' defining the line segment
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:217:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L217) *style:* **Lines should not be more than 80 characters.**
```r
write_labels_at_endpoint_locations <- function(r_label, l_label, degree, endpoints) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:217:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L217) *style:* **Variable and function names should not be longer than 30 characters.**
```r
write_labels_at_endpoint_locations <- function(r_label, l_label, degree, endpoints) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:226:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L226) *style:* **Lines should not be more than 80 characters.**
```r
##' @description We do not need points plotted in the corners of the plotted circle.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:233:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L233) *style:* **Lines should not be more than 80 characters.**
```r
nullify_vals_outside_the_circle <- function(minitics, spatial_res, heatmap_matrix,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:233:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L233) *style:* **Variable and function names should not be longer than 30 characters.**
```r
nullify_vals_outside_the_circle <- function(minitics, spatial_res, heatmap_matrix,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:233:83:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L233) *style:* **Trailing whitespace is superfluous.**
```r
nullify_vals_outside_the_circle <- function(minitics, spatial_res, heatmap_matrix,
                                                                                ^
```
[R/plotting_functions.R:235:5:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L235) *style:* **Variable and function names should not be longer than 30 characters.**
```r
    matrix_position_is_within_the_circle <- function() {
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:238:5:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L238) *style:* **Variable or function name should be snake_case.**
```r
    markNA <- matrix(minitics, ncol = spatial_res, nrow = spatial_res)
    ^~~~~~
```
[R/plotting_functions.R:246:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L246) *style:* **Lines should not be more than 80 characters.**
```r
##' @description Find the location to put the label around the circle at each of the lines
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:251:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L251) *style:* **Variable and function names should not be longer than 30 characters.**
```r
compute_longitude_label_location <- function(axis.rads, outer_radius) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:251:46:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L251) *style:* **Variable or function name should be snake_case.**
```r
compute_longitude_label_location <- function(axis.rads, outer_radius) {
                                             ^~~~~~~~~
```
[R/plotting_functions.R:252:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L252) *style:* **Lines should not be more than 80 characters.**
```r
    return(c(RMat(axis.rads) %*% matrix(c(1.1, 0, -1.1, 0) * outer_radius, ncol = 2)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:252:14:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L252) *warning:* **no visible global function definition for ‘RMat’, Did you mean 'hat'?**
```r
    return(c(RMat(axis.rads) %*% matrix(c(1.1, 0, -1.1, 0) * outer_radius, ncol = 2)))
             ^~~~
```
[R/plotting_functions.R:261:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L261) *style:* **Lines should not be more than 80 characters.**
```r
    endpoints <- zapsmall(c(RMat(axis_radian) %*% matrix(c(1, 0, -1, 0) * outer_radius,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:261:88:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L261) *style:* **Trailing whitespace is superfluous.**
```r
    endpoints <- zapsmall(c(RMat(axis_radian) %*% matrix(c(1, 0, -1, 0) * outer_radius,
                                                                                ^
```
[R/plotting_functions.R:263:5:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L263) *warning:* **no visible global function definition for ‘draw_line_segments’**
```r
    draw_line_segments(endpoints)
    ^~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:267:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L267) *style:* **Lines should not be more than 80 characters.**
```r
##' @description put a degree label at the ends of the endpoints for each longitude
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:274:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L274) *style:* **Lines should not be more than 80 characters.**
```r
plot_longitudinal_labels <- function(axis.rad, outer_radius, r_label, l_label, degree) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:274:38:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L274) *style:* **Variable or function name should be snake_case.**
```r
plot_longitudinal_labels <- function(axis.rad, outer_radius, r_label, l_label, degree) {
                                     ^~~~~~~~
```
[R/plotting_functions.R:275:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L275) *style:* **Lines should not be more than 80 characters.**
```r
    write_labels_at_endpoint_locations(r_label, l_label, degree, compute_longitude_label_location(axis.rad,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:275:108:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L275) *style:* **Trailing whitespace is superfluous.**
```r
    write_labels_at_endpoint_locations(r_label, l_label, degree, compute_longitude_label_location(axis.rad,
                                                                                ^
```
[R/plotting_functions.R:285:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L285) *style:* **Variable or function name should be snake_case.**
```r
RMat <- function(radians) {
^~~~
```
[R/plotting_functions.R:286:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L286) *style:* **Lines should not be more than 80 characters.**
```r
    return(matrix(c(cos(radians), sin(radians), -sin(radians), cos(radians)), ncol = 2))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:290:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L290) *style:* **Lines should not be more than 80 characters.**
```r
##' @description plots radial lines, degree label for latitudes, and plots radial spokes with labels
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:295:5:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L295) *warning:* **no visible global function definition for ‘plot_circle_radial_lines’**
```r
    plot_circle_radial_lines(radius_vals)
    ^~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:296:5:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L296) *warning:* **no visible global function definition for ‘plot_degree_label_for_latitudes’**
```r
    plot_degree_label_for_latitudes(outer_radius, radius_vals)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:297:5:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L297) *warning:* **no visible global function definition for ‘plot_radial_spokes_and_labels’**
```r
    plot_radial_spokes_and_labels(outer_radius)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:324:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L324) *style:* **Variable and function names should not be longer than 30 characters.**
```r
define_color_breaks_based_on_source <- function(col_breaks_source, z, Mat) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:324:71:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L324) *style:* **Variable or function name should be snake_case.**
```r
define_color_breaks_based_on_source <- function(col_breaks_source, z, Mat) {
                                                                      ^~~
```
[R/plotting_functions.R:329:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L329) *style:* **Lines should not be more than 80 characters.**
```r
    } else if ((length(col_breaks_source) == 2) & (is.numeric(col_breaks_source))) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:346:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L346) *style:* **Lines should not be more than 80 characters.**
```r
##' @param extrapolate whether to predict out to the equator of the eye, even if no data exists nearby.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:347:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L347) *style:* **Lines should not be more than 80 characters.**
```r
interpolate_input_data <- function(minitics, x, y, z, lambda, polynomial_m, extrapolate) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:348:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L348) *style:* **Lines should not be more than 80 characters.**
```r
    grid.list = list(x = minitics, y = minitics)  #choose locations to predict at
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:348:5:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L348) *style:* **Variable or function name should be snake_case.**
```r
    grid.list = list(x = minitics, y = minitics)  #choose locations to predict at
    ^~~~~~~~~
```
[R/plotting_functions.R:348:15:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L348) *style:* **Use <-, not =, for assignment.**
```r
    grid.list = list(x = minitics, y = minitics)  #choose locations to predict at
              ^
```
[R/plotting_functions.R:349:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L349) *style:* **Lines should not be more than 80 characters.**
```r
    t <- Tps(cbind(x, y), z, lambda = lambda, m = polynomial_m)  #computationally intensive
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:349:10:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L349) *warning:* **no visible global function definition for ‘Tps’, Did you mean 'Ops'?**
```r
    t <- Tps(cbind(x, y), z, lambda = lambda, m = polynomial_m)  #computationally intensive
         ^~~
```
[R/plotting_functions.R:350:12:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L350) *warning:* **no visible global function definition for ‘predictSurface’**
```r
    tmp <- predictSurface(t, grid.list, extrap = extrapolate)
           ^~~~~~~~~~~~~~
```
[R/plotting_functions.R:351:5:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L351) *style:* **Variable or function name should be snake_case.**
```r
    Mat <- tmp$z
    ^~~
```
[R/plotting_functions.R:363:5:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L363) *style:* **Variable or function name should be snake_case.**
```r
    axis.rads <- c(0, pi/6, pi/3, pi/2, 2 * pi/3, 5 * pi/6)
    ^~~~~~~~~
```
[R/plotting_functions.R:363:25:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L363) *style:* **Put spaces around all infix operators.**
```r
    axis.rads <- c(0, pi/6, pi/3, pi/2, 2 * pi/3, 5 * pi/6)
                       ~^~
```
[R/plotting_functions.R:363:31:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L363) *style:* **Put spaces around all infix operators.**
```r
    axis.rads <- c(0, pi/6, pi/3, pi/2, 2 * pi/3, 5 * pi/6)
                             ~^~
```
[R/plotting_functions.R:363:37:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L363) *style:* **Put spaces around all infix operators.**
```r
    axis.rads <- c(0, pi/6, pi/3, pi/2, 2 * pi/3, 5 * pi/6)
                                   ~^~
```
[R/plotting_functions.R:363:47:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L363) *style:* **Put spaces around all infix operators.**
```r
    axis.rads <- c(0, pi/6, pi/3, pi/2, 2 * pi/3, 5 * pi/6)
                                             ~^~
```
[R/plotting_functions.R:363:57:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L363) *style:* **Put spaces around all infix operators.**
```r
    axis.rads <- c(0, pi/6, pi/3, pi/2, 2 * pi/3, 5 * pi/6)
                                                       ~^~
```
[R/plotting_functions.R:364:5:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L364) *style:* **Variable or function name should be snake_case.**
```r
    r.labs <- c(90, 60, 30, 0, 330, 300)
    ^~~~~~
```
[R/plotting_functions.R:365:5:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L365) *style:* **Variable or function name should be snake_case.**
```r
    l.labs <- c(270, 240, 210, 180, 150, 120)
    ^~~~~~
```
[R/plotting_functions.R:367:9:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L367) *warning:* **no visible global function definition for ‘plot_longitudinal_lines’**
```r
        plot_longitudinal_lines(axis.rads[i], outer_radius)
        ^~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:368:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L368) *style:* **Lines should not be more than 80 characters.**
```r
        plot_longitudinal_labels(axis.rads[i], outer_radius, r.labs[i], l.labs[i],
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:368:83:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L368) *style:* **Trailing whitespace is superfluous.**
```r
        plot_longitudinal_labels(axis.rads[i], outer_radius, r.labs[i], l.labs[i],
                                                                                ^
```
[R/plotting_functions.R:389:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L389) *style:* **Lines should not be more than 80 characters.**
```r
##' @description Useful for making the falciform process look more smooth and refined. This is purely aesthetic.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:390:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L390) *style:* **Lines should not be more than 80 characters.**
```r
##' @details enhance the resolution of a polygon vertices dataframe by creating a spline along each vertex.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:391:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L391) *style:* **Lines should not be more than 80 characters.**
```r
##' @param xy vertices in dataframe with x and y columns, in order (not all are used).
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:398:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L398) *style:* **Lines should not be more than 80 characters.**
```r
##' @references http://gis.stackexchange.com/questions/24827/how-to-smooth-the-polygons-in-a-contour-map
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/plotting_functions.R:407:5:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L407) *style:* **Variable or function name should be snake_case.**
```r
    data.spline <- spline(1:(n + 2 * k), data[, 1], n = vertices, ...)
    ^~~~~~~~~~~
```
[R/plotting_functions.R:411:1:](https://github.com/bc/retina/blob/07fa212b346b641cec5f57344a6c32c888bfcb9d/R/plotting_functions.R#L411) *style:* **Trailing whitespace is superfluous.**
```r

^~~~
```


We do the `hostInfo` change this because the platforms are from the *library*'s perspective, not the sdk's (arbitrary) perspective. It is confusing: each package interprets those from their own perspective even though those perspectives don't align (the compiler's target is the host of the library built with that compiler for example).


158341011_Issue#6381 (lgu1234) - x86_64-Linux-Ubuntu-14.04-cppcheck-1.61: OK (0 of 0 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.png)


it is only patching 7.3 version?


Thanks! It worked for me.


What is this?


The truth has been revealed


oof


uiadwheu;e


Remove comma.
![screenshot from 2018-06-13 18-29-53](https://user-images.githubusercontent.com/15083452/41386750-e8f915cc-6f37-11e8-871f-0a73a8c738cc.png)


I'm pretty sure that this is necessary to prevent the type of `msg_send` being inferred to `!`: https://github.com/SSheldon/rust-objc/issues/62


LOL


webhook test


I wasn't able to retrieve PDD puzzles from the code base and submit them to GitHub. If you think that it's a bug on our side, please submit it to [yegor256/0pdd](https://github.com/yegor256/0pdd/issues):

> set -x && set -e && set -o pipefail && cd /tmp/0pdd20180613-4-1jx3v4a/vl3/pdd_test && pdd -v -f /tmp/20180614-4044-1pi3o0r [1]: bash: warning: setlocale: LC_ALL: cannot change locale (UTF-8) + set -e + set -o pipefail + cd /tmp/0pdd20180613-4-1jx3v4a/vl3/pdd_test + pdd -v -f...

Please, copy and paste this stack trace to GitHub:

```
UserError
set -x && set -e && set -o pipefail && cd /tmp/0pdd20180613-4-1jx3v4a/vl3/pdd_test && pdd -v -f /tmp/20180614-4044-1pi3o0r [1]:
bash: warning: setlocale: LC_ALL: cannot change locale (UTF-8)
+ set -e
+ set -o pipefail
+ cd /tmp/0pdd20180613-4-1jx3v4a/vl3/pdd_test
+ pdd -v -f /tmp/20180614-4044-1pi3o0r

My version is 0.20.3
Ruby version is 2.3.3 at x86_64-linux
Reading /tmp/0pdd20180613-4-1jx3v4a/vl3/pdd_test
2 file(s) found, 56 excluded
Reading README.md...
ERROR: README.md; puzzle at line #2; @todo found, but puzzle can't be parsed, most probably because @todo is not followed by a puzzle marker, as this page explains: https://github.com/yegor256/pdd#how-to-format. If you can't understand the cause of this issue or you don't know how to fix it, please submit a GitHub issue, we will try to help you: https://github.com/yegor256/pdd/issues. This tool is still in its beta version and we will appreciate your feedback. Here is where you can find more documentation: https://github.com/yegor256/pdd/blob/master/README.md.
Exit code is 1

/app/objects/git_repo.rb:66:in `rescue in block in xml'
/app/objects/git_repo.rb:63:in `block in xml'
/app/vendor/ruby-2.3.3/lib/ruby/2.3.0/tempfile.rb:295:in `open'
/app/objects/git_repo.rb:62:in `xml'
/app/objects/puzzles.rb:36:in `deploy'
/app/objects/job.rb:38:in `proceed'
/app/objects/job_starred.rb:33:in `proceed'
/app/objects/job_recorded.rb:32:in `proceed'
/app/objects/job_emailed.rb:35:in `proceed'
/app/objects/job_commiterrors.rb:36:in `proceed'
/app/objects/job_detached.rb:48:in `exclusive'
/app/objects/job_detached.rb:36:in `block in proceed'
/app/objects/job_detached.rb:36:in `fork'
/app/objects/job_detached.rb:36:in `proceed'
/app/0pdd.rb:342:in `block in <top (required)>'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1634:in `call'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1634:in `block in compile!'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:992:in `block (3 levels) in route!'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1011:in `route_eval'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:992:in `block (2 levels) in route!'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1039:in `block in process_route'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1037:in `catch'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1037:in `process_route'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:990:in `block in route!'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:989:in `each'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:989:in `route!'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1096:in `block in dispatch!'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1075:in `block in invoke'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1075:in `catch'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1075:in `invoke'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1093:in `dispatch!'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:924:in `block in call!'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1075:in `block in invoke'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1075:in `catch'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1075:in `invoke'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:924:in `call!'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:913:in `call'
/app/vendor/bundle/ruby/2.3.0/gems/rack-protection-2.0.1/lib/rack/protection/xss_header.rb:18:in `call'
/app/vendor/bundle/ruby/2.3.0/gems/rack-protection-2.0.1/lib/rack/protection/path_traversal.rb:16:in `call'
/app/vendor/bundle/ruby/2.3.0/gems/rack-protection-2.0.1/lib/rack/protection/json_csrf.rb:26:in `call'
/app/vendor/bundle/ruby/2.3.0/gems/rack-protection-2.0.1/lib/rack/protection/base.rb:50:in `call'
/app/vendor/bundle/ruby/2.3.0/gems/rack-protection-2.0.1/lib/rack/protection/base.rb:50:in `call'
/app/vendor/bundle/ruby/2.3.0/gems/rack-protection-2.0.1/lib/rack/protection/frame_options.rb:31:in `call'
/app/vendor/bundle/ruby/2.3.0/gems/rack-2.0.5/lib/rack/logger.rb:15:in `call'
/app/vendor/bundle/ruby/2.3.0/gems/rack-2.0.5/lib/rack/common_logger.rb:33:in `call'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:231:in `call'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:224:in `call'
/app/vendor/bundle/ruby/2.3.0/gems/rack-2.0.5/lib/rack/head.rb:12:in `call'
/app/vendor/bundle/ruby/2.3.0/gems/rack-2.0.5/lib/rack/method_override.rb:22:in `call'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:194:in `call'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1957:in `call'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1501:in `block in call'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1728:in `synchronize'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1501:in `call'
/app/vendor/bundle/ruby/2.3.0/gems/rack-2.0.5/lib/rack/handler/webrick.rb:86:in `service'
/app/vendor/ruby-2.3.3/lib/ruby/2.3.0/webrick/httpserver.rb:140:in `service'
/app/vendor/ruby-2.3.3/lib/ruby/2.3.0/webrick/httpserver.rb:96:in `run'
/app/vendor/ruby-2.3.3/lib/ruby/2.3.0/webrick/server.rb:296:in `block in start_thread'
```


@leebyron looks like there is a 30min mismatch. Should it start at 14:30 UTC or should we correct the time for specific time zones?


webbbbhooks


@everyone


Anatomy of an Assembly WorkOrder Entry:
````
INSERT INTO 0_audit_trail VALUES
('50', '26', '6', '1', '2018-06-14 06:46:52', NULL, '2', '2018-06-14', NULL),
('51', '26', '6', '1', '2018-06-14 06:46:52', 'Released.', '2', '2018-06-14', '0'),
('52', '29', '4', '1', '2018-06-14 06:46:52', 'Production.', '2', '2018-06-14', '0');

INSERT INTO 0_comments VALUES
('26', '6', '2018-06-14', 'Test WO');

INSERT INTO 0_gl_trans VALUES
('83', '29', '4', '2018-06-14', '1510', '06/14/2018: 1 * iPad Air 2 16GB', '-211.59', '0', '0', NULL, NULL),
('84', '29', '4', '2018-06-14', '1510', '06/14/2018: 1 * iPhone 6 64GB', '-171.95', '0', '0', NULL, NULL),
('85', '29', '4', '2018-06-14', '1510', '06/14/2018: 1 * iPhone Cover Case', '-10', '0', '0', NULL, NULL),
('86', '29', '4', '2018-06-14', '1530', '06/14/2018: 1 * Support', '393.54', '0', '0', NULL, NULL),
('87', '26', '6', '2018-06-14', '1530', '', '-393.54', '0', '0', NULL, NULL),
('88', '26', '6', '2018-06-14', '1510', '', '393.54', '0', '0', NULL, NULL);

INSERT INTO 0_refs VALUES
('6', '26', '003/2018'),
('4', '29', '004/2018');

UPDATE 0_stock_master SET material_cost = '383.960010012663' WHERE stock_id=201;

INSERT INTO 0_stock_moves VALUES
('36', '4', '101', '29', 'DEF', '2018-06-14', '0', '', '-1', '211.591387755102'),
('37', '4', '102', '29', 'DEF', '2018-06-14', '0', '', '-1', '171.952626262626'),
('38', '4', '103', '29', 'DEF', '2018-06-14', '0', '', '-1', '10'),
('39', '4', '301', '29', 'DEF', '2018-06-14', '0', '', '-1', '0'),
('40', '6', '201', '26', 'DEF', '2018-06-14', '0', '004/2018', '1', '393.544014017728');

INSERT INTO 0_wo_manufacture VALUES
('4', '004/2018', '6', '1', '2018-06-14');

INSERT INTO 0_wo_requirements VALUES
('20', '6', '101', '1', '1', '211.591387755102', 'DEF', '1'),
('21', '6', '102', '1', '1', '171.952626262626', 'DEF', '1'),
('22', '6', '103', '1', '1', '10', 'DEF', '1'),
('23', '6', '301', '1', '1', '0', 'DEF', '1');

INSERT INTO 0_workorders VALUES
('6', '003/2018', 'DEF', '1', '201', '2018-06-14', '0', '2018-06-14', '2018-06-14', '1', '1', '1', '0');

````

* The time of entry is available only in the `audit_trail` table.
* The amounts are **not rounded off** in the `stock_moves` and `wo_requirements` tables.
* The amounts are **rounded off** in the `gl_trans` table.


@Godson777 that alias actually comes from the Rythm bot, lul


Thank you!!


I wasn't able to retrieve PDD puzzles from the code base and submit them to GitHub. If you think that it's a bug on our side, please submit it to [yegor256/0pdd](https://github.com/yegor256/0pdd/issues):

> set -x && set -e && set -o pipefail && cd /tmp/0pdd20180613-4-1jx3v4a/vl3/pdd_test && pdd -v -f /tmp/20180614-4126-vf0b25 [1]: bash: warning: setlocale: LC_ALL: cannot change locale (UTF-8) + set -e + set -o pipefail + cd /tmp/0pdd20180613-4-1jx3v4a/vl3/pdd_test + pdd -v -f...

Please, copy and paste this stack trace to GitHub:

```
UserError
set -x && set -e && set -o pipefail && cd /tmp/0pdd20180613-4-1jx3v4a/vl3/pdd_test && pdd -v -f /tmp/20180614-4126-vf0b25 [1]:
bash: warning: setlocale: LC_ALL: cannot change locale (UTF-8)
+ set -e
+ set -o pipefail
+ cd /tmp/0pdd20180613-4-1jx3v4a/vl3/pdd_test
+ pdd -v -f /tmp/20180614-4126-vf0b25

My version is 0.20.3
Ruby version is 2.3.3 at x86_64-linux
Reading /tmp/0pdd20180613-4-1jx3v4a/vl3/pdd_test
3 file(s) found, 69 excluded
Reading README.md...
ERROR: README.md; puzzle at line #2; @todo found, but puzzle can't be parsed, most probably because @todo is not followed by a puzzle marker, as this page explains: https://github.com/yegor256/pdd#how-to-format. If you can't understand the cause of this issue or you don't know how to fix it, please submit a GitHub issue, we will try to help you: https://github.com/yegor256/pdd/issues. This tool is still in its beta version and we will appreciate your feedback. Here is where you can find more documentation: https://github.com/yegor256/pdd/blob/master/README.md.
Exit code is 1

/app/objects/git_repo.rb:66:in `rescue in block in xml'
/app/objects/git_repo.rb:63:in `block in xml'
/app/vendor/ruby-2.3.3/lib/ruby/2.3.0/tempfile.rb:295:in `open'
/app/objects/git_repo.rb:62:in `xml'
/app/objects/puzzles.rb:36:in `deploy'
/app/objects/job.rb:38:in `proceed'
/app/objects/job_starred.rb:33:in `proceed'
/app/objects/job_recorded.rb:32:in `proceed'
/app/objects/job_emailed.rb:35:in `proceed'
/app/objects/job_commiterrors.rb:36:in `proceed'
/app/objects/job_detached.rb:48:in `exclusive'
/app/objects/job_detached.rb:36:in `block in proceed'
/app/objects/job_detached.rb:36:in `fork'
/app/objects/job_detached.rb:36:in `proceed'
/app/0pdd.rb:342:in `block in <top (required)>'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1634:in `call'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1634:in `block in compile!'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:992:in `block (3 levels) in route!'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1011:in `route_eval'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:992:in `block (2 levels) in route!'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1039:in `block in process_route'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1037:in `catch'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1037:in `process_route'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:990:in `block in route!'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:989:in `each'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:989:in `route!'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1096:in `block in dispatch!'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1075:in `block in invoke'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1075:in `catch'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1075:in `invoke'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1093:in `dispatch!'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:924:in `block in call!'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1075:in `block in invoke'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1075:in `catch'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1075:in `invoke'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:924:in `call!'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:913:in `call'
/app/vendor/bundle/ruby/2.3.0/gems/rack-protection-2.0.1/lib/rack/protection/xss_header.rb:18:in `call'
/app/vendor/bundle/ruby/2.3.0/gems/rack-protection-2.0.1/lib/rack/protection/path_traversal.rb:16:in `call'
/app/vendor/bundle/ruby/2.3.0/gems/rack-protection-2.0.1/lib/rack/protection/json_csrf.rb:26:in `call'
/app/vendor/bundle/ruby/2.3.0/gems/rack-protection-2.0.1/lib/rack/protection/base.rb:50:in `call'
/app/vendor/bundle/ruby/2.3.0/gems/rack-protection-2.0.1/lib/rack/protection/base.rb:50:in `call'
/app/vendor/bundle/ruby/2.3.0/gems/rack-protection-2.0.1/lib/rack/protection/frame_options.rb:31:in `call'
/app/vendor/bundle/ruby/2.3.0/gems/rack-2.0.5/lib/rack/logger.rb:15:in `call'
/app/vendor/bundle/ruby/2.3.0/gems/rack-2.0.5/lib/rack/common_logger.rb:33:in `call'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:231:in `call'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:224:in `call'
/app/vendor/bundle/ruby/2.3.0/gems/rack-2.0.5/lib/rack/head.rb:12:in `call'
/app/vendor/bundle/ruby/2.3.0/gems/rack-2.0.5/lib/rack/method_override.rb:22:in `call'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:194:in `call'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1957:in `call'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1501:in `block in call'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1728:in `synchronize'
/app/vendor/bundle/ruby/2.3.0/gems/sinatra-2.0.1/lib/sinatra/base.rb:1501:in `call'
/app/vendor/bundle/ruby/2.3.0/gems/rack-2.0.5/lib/rack/handler/webrick.rb:86:in `service'
/app/vendor/ruby-2.3.3/lib/ruby/2.3.0/webrick/httpserver.rb:140:in `service'
/app/vendor/ruby-2.3.3/lib/ruby/2.3.0/webrick/httpserver.rb:96:in `run'
/app/vendor/ruby-2.3.3/lib/ruby/2.3.0/webrick/server.rb:296:in `block in start_thread'
```


`GameObject (GUID: 24681) does not exist but has a record in `gameobject_addon`
GameObject (GUID: 24682) does not exist but has a record in `gameobject_addon`
GameObject (GUID: 32137) does not exist but has a record in `gameobject_addon`
GameObject (GUID: 32138) does not exist but has a record in `gameobject_addon`
GameObject (GUID: 32139) does not exist but has a record in `gameobject_addon``


@mrcasual This messed up the `id` attribute; please fix.


That looks good, including the test case.

Would it better to replace:
+            sec = [l for l in self.secondaries[evtype].get(fileno, [])
+                   if l is not listener]
with:
               self.secondaries[evtype].get(fileno, []).remove(listener)
If the listener is not on the list we should probably panic.