diff --git a/bookdown/05_Protocol-Calibrations.Rmd b/bookdown/05_Protocol-Calibrations.Rmd index a424894..24ecbed 100644 --- a/bookdown/05_Protocol-Calibrations.Rmd +++ b/bookdown/05_Protocol-Calibrations.Rmd @@ -4,11 +4,81 @@ In this section we describe corrections to common protocol differences. ## Lure -For many species, and carnivores in particular, detections at randomly located camera sites can be very low. Lure or other attractants are often used to increase the number of detections at cameras, which can help reduce the high inherent measurement error of cameras. However, lures clearly violate the assumption that animal movement is not influenced by the camera deployment. Furthermore, differential attraction to lures in different habitats would bias habitat models based on camera data. +For many species, and carnivores in particular, detections at randomly located camera sites can be very low. Lure or other attractants are often used to increase the number of detections at cameras, which can help reduce the high inherent measurement error of cameras. However, lures clearly violate the assumption that animal movement is not influenced by the camera deployment. -We deployed both lured and unlured cameras in a paired design to calibrate lure effects for each species. Each site used four cameras spaced 600-m apart, two of which were lured. This design allowed for a simple paired comparison of species' occurrences and time in field-of-view. We examined results for common species at 558 core sites from both lured and unlured cameras (992 of each, with two pairs at most sites) with similar total operating times. We summarized the ratio of lured:unlured results by species in three measures: (1) occurrence (presence/absence at the camera over the entire deployment time); (2) density given occurrence (density at only cameras where the species was present); and (3) total density (the product of occurrence and density given occurrence, that is, our density estimates as described above). We used bootstrapping to calculate CIs for each mean ratio, with site as the resampling unit. +The ABMI deploys both lured and unlured cameras in a paired design to calibrate lure effects for each species. Each site uses four cameras spaced 600 m apart, two of which were lured. This design allows for a simple paired comparison of species' occurrences and time in field-of-view. Direct comparisons of lured and unlured deployments are not confounded by geographic location, year, or, with enough samples, microhabitats. We examined results for common species at 558 core sites from both lured and unlured cameras (992 of each, with two pairs at most sites) with the same total operating times. We summarized the ratio of lured:unlured results by species in three measures: (1) **Occurrence** (presence/absence at the camera over the entire deployment time); (2) **Density given Occurrence** (density at only cameras where the species was present); and (3) **Total Density** (the product of occurrence and density given occurrence, that is, our density estimates as described in previous sections). We used bootstrapping to calculate confidence intervals for each mean ratio, with site as the re-sampling unit^[[Calculating Lure Effects](https://github.com/ABbiodiversity/MammalModels/blob/main/src/global/Calculate%20Lure%20Effects.R) - This script demonstrates how lure effects are calculated using the paired ABMI camera design.]. Table \@ref(tab:lure-table) displays the results across all three measures for 14 species with sufficient data. Figure \ref(fig:lure-plot) displays the Total Density results for those same 14 species, differentiating between the carnivores and non-carnivores. +```{r lure-table, eval=TRUE, echo=FALSE, warning=FALSE, message=FALSE, fig.cap="Lure effect summary across three measures."} +library(gt) + +lure <- read_csv(paste0(g_drive, "data/processed/lure/lure-effect-summary_2024-04-16.csv")) |> + mutate(carnivore = ifelse(str_detect(species_common_name, "Bear|Lynx|Fisher|Marten|Wolf|Coyote|Fox|Cougar"), "Yes", "No")) |> + mutate(species_common_name = str_remove_all(species_common_name, "\\(wapiti\\)")) |> + mutate(species_common_name = str_replace_all(species_common_name, "(? + mutate(species_common_name = fct_reorder(species_common_name, TA)) |> + arrange(species_common_name) + +lure |> + select(species_common_name, PA, AGP, TA) |> + mutate(across(PA:TA, ~ round(., digits = 2))) |> + gt() |> + data_color( + columns = c(PA, AGP, TA), + fn = scales::col_numeric( + palette = "magma", + domain = c(0.93, 10.83) + ) + ) |> + cols_label( + species_common_name = "Species", + PA = "Occurrence", + AGP = "Density|Occurrence", + TA = "Total Density") |> + cols_align("left", columns = "species_common_name") + + +``` + +
+ +```{r lure-plot, eval=TRUE, echo=FALSE, warning=FALSE, message=FALSE, fig.showtext=TRUE, fig.cap="Lure effect on Total Density"} + +library(ggtext) + +title <- 'Lure Effect on Total Density for both\n Non-Carnivores and Carnivores' + +# Figure of Lure Effect on Total Density +plot <- lure |> + mutate(carnivore = ifelse(str_detect(species_common_name, "Bear|Lynx|Fisher|Marten|Wolf|Coyote|Fox|Cougar"), "Yes", "No")) |> + mutate(species_common_name = str_remove_all(species_common_name, "\\(wapiti\\)")) |> + mutate(species_common_name = str_replace_all(species_common_name, "(? + mutate(species_common_name = fct_reorder(species_common_name, TA)) |> + ggplot(aes(x = TA, y = species_common_name)) + + geom_vline(xintercept = 1, linetype = 2, size = 0.75) + + geom_point(aes(color = carnivore), size = 4) + + geom_linerange(aes(xmin = TA.lci, xmax = TA.uci, color = carnivore), linewidth = 0.1) + + geom_text(aes(label = round(TA, digits = 2), + color = carnivore), + size = 3, nudge_x = 0.3, nudge_y = 0.4) + + scale_color_manual(values = c("#008837", "#7b3294")) + + coord_cartesian(xlim = c(0, 12)) + + scale_x_continuous(breaks = seq(0, 12, 2)) + + labs(title = title, + x = "Ratio of Lured:Unlured Densities") + + theme_abmi() + + theme(panel.grid.major.y = element_blank(), + panel.grid.major.x = element_line(linewidth = 0.5, color = "grey90"), + axis.title.y = element_blank(), + axis.title.x = element_text(size = 12), + axis.text.y = element_text(size = 12), + axis.text.x = element_text(size = 11), + legend.position = "none", + plot.title = element_markdown(size = 12)) + +plot + +``` The ratio of the mean lured:unlured values for moose occurrence was 1.07 (90% CI: 0.99–1.16), 1.17 (0.92–1.5) for density given occurrence, and 1.26 (0.98–1.62) for total density. We found more substantial positive effects of lure for other species, particularly fisher (Pekania pennanti), red fox (Vulpes vulpes), and gray wolf (Canis lupus) (Appendix S5). For these carnivore species, a larger proportion of the effect on total density came from the density given occurrence component, indicating that lure was primarily effective for increasing the time animals spend in the camera field-of-view. Occurrence increases due to lure tended to be smaller, which suggests that animals are not being drawn in from large distances. We use the total density ratios to correct the estimates of densities at lured cameras to an unlured density equivalent. diff --git a/bookdown/_main_files/figure-html/lure-plot-1.png b/bookdown/_main_files/figure-html/lure-plot-1.png new file mode 100644 index 0000000..db47a6c Binary files /dev/null and b/bookdown/_main_files/figure-html/lure-plot-1.png differ diff --git a/bookdown/_main_files/figure-html/wtd-1.png b/bookdown/_main_files/figure-html/wtd-1.png index 9927260..b505c66 100644 Binary files a/bookdown/_main_files/figure-html/wtd-1.png and b/bookdown/_main_files/figure-html/wtd-1.png differ diff --git a/bookdown/_main_files/figure-html/wtdpred-1.png b/bookdown/_main_files/figure-html/wtdpred-1.png index 79493e2..189e3d1 100644 Binary files a/bookdown/_main_files/figure-html/wtdpred-1.png and b/bookdown/_main_files/figure-html/wtdpred-1.png differ diff --git a/docs/404.html b/docs/404.html index ebba1bd..067bee7 100644 --- a/docs/404.html +++ b/docs/404.html @@ -23,7 +23,7 @@ - + @@ -58,16 +58,16 @@ - + - + - + diff --git a/docs/_main_files/figure-html/lure-plot-1.png b/docs/_main_files/figure-html/lure-plot-1.png new file mode 100644 index 0000000..db47a6c Binary files /dev/null and b/docs/_main_files/figure-html/lure-plot-1.png differ diff --git a/docs/_main_files/figure-html/wtd-1.png b/docs/_main_files/figure-html/wtd-1.png index 9927260..b505c66 100644 Binary files a/docs/_main_files/figure-html/wtd-1.png and b/docs/_main_files/figure-html/wtd-1.png differ diff --git a/docs/_main_files/figure-html/wtdpred-1.png b/docs/_main_files/figure-html/wtdpred-1.png index 79493e2..189e3d1 100644 Binary files a/docs/_main_files/figure-html/wtdpred-1.png and b/docs/_main_files/figure-html/wtdpred-1.png differ diff --git a/docs/calculating-animal-density.html b/docs/calculating-animal-density.html index c97fb4c..c0637dd 100644 --- a/docs/calculating-animal-density.html +++ b/docs/calculating-animal-density.html @@ -23,7 +23,7 @@ - + @@ -58,16 +58,16 @@ - + - + - + diff --git a/docs/data-collection.html b/docs/data-collection.html index d12ad4b..b7ed7e2 100644 --- a/docs/data-collection.html +++ b/docs/data-collection.html @@ -23,7 +23,7 @@ - + @@ -58,16 +58,16 @@ - + - + - + @@ -267,7 +267,7 @@

2 Data Collection

2.1 Overview

The ABMI has been using remote cameras to monitor mammal species in the province since 2014.

-

As of 2024-01-08, the ABMI has deployed X number of cameras across the province.

+

As of 2024-04-16, the ABMI has deployed X number of cameras across the province.

2.2 Deployment Protocols

@@ -477,7 +477,7 @@

2.3 Camera Projects -Active +Published - Map+Report Only @@ -488,7 +488,7 @@

2.3 Camera Projects -Active +Published - Map+Report Only @@ -595,7 +595,7 @@

2.3 Camera Projects -196 +166 Published - Map+Report Only @@ -609,7 +609,7 @@

2.3 Camera Projects -Active +Published - Map+Report Only @@ -740,7 +740,7 @@

2.5 Species Detections in Alberta "2021": ["800", "801", "802", "803", "804", "805", "806", "807", "808", "809", "810", "811", "812", "813", "814", "815", "816", "817", "818", "819", "820", "821", "822", "823", "824", "825", "826", "827", "828", "829", "830", "831", "832", "833", "834", "835", "836", "837", "838", "839", "840", "841", "950", "951", "952", "953", "954", "955", "956", "957", "958", "959", "960", "961", "962", "963", "964", "965", "966", "967", "968", "969", "970", "971", "972", "973", "974", "975", "976", "977", "978", "979", "980", "981", "982", "983", "984", "985", "986", "987", "988", "989", "990", "991", "1121", "1122", "1123", "1124", "1125", "1126", "1127", "1128", "1129", "1130", "1131", "1132", "1133", "1134", "1135", "1136", "1137", "1138", "1139", "1140", "1141", "1512", "1513", "1514", "1515", "1516", "1517", "1518", "1519", "1520", "1521", "1522", "1523", "1524", "1525", "1526", "1527", "1528", "1529", "1530", "1531", "1532", "1533", "1534", "1535", "1536", "1537", "1538", "1539", "1540", "1541", "1542", "1543", "1544", "1545", "1546", "1547", "1548", "1549", "1550", "1551", "1552", "1553", "1554", "1555", "1556", "1557", "1558", "1559", "1560", "1561", "1562", "1563", "1564", "1565", "1566", "1567", "1568", "1569", "1570", "1571", "1572", "1573", "1574", "1944", "1945", "1946", "1947", "1948", "1949", "1950", "1951", "1952", "1953", "1954", "1955", "1956", "1957", "1958", "1959", "1960", "1961", "1962", "1963", "1964", "1965", "1966", "1967", "1968", "1969", "1970", "1971", "1972", "1973", "1974", "1975", "1976", "1977", "1978", "1979", "1980", "1981", "1982", "1983", "1984", "1985", "1986", "1987", "1988", "1989", "1990", "1991", "1992", "1993", "1994", "1995", "1996", "1997", "1998", "1999", "2000", "2001", "2002", "2003", "2004", "2005", "2006", "2372", "2373", "2374", "2375", "2376", "2377", "2378", "2379", "2380", "2381", "2382", "2383", "2384", "2385", "2386", "2387", "2388", "2389", "2390", "2391", "2392", "2393", "2394", "2395", "2396", "2397", "2398", "2399", "2400", "2401", "2402", "2403", "2404", "2405", "2406", "2407", "2408", "2409", "2410", "2411", "2412", "2413", "2414", "2415", "2416", "2417", "2418", "2419", "2420", "2421", "2422", "2423", "2424", "2425", "2426", "2427", "2428", "2429", "2430", "2431", "2432", "2433", "2434", "2435", "2436", "2437", "2438", "2439", "2440", "2441", "2442", "2443", "2444", "2445", "2446", "2447", "2448", "2449", "2450", "2451", "2452", "2453", "2454", "2455", "11406", "11407", "11408", "11409", "11410", "11411", "11412", "11413", "11414", "11415", "11416", "11417", "11418", "11419", "11420", "11421", "11422", "11423", "11424", "11425", "11426", "11427", "11428", "11429", "11430", "11431", "11432", "11433", "11434", "11435", "11436", "11437", "11438", "11439", "11440", "11441", "11442", "11443", "11444", "11445", "11446", "11447"], "2022": ["998", "999", "1000", "1001", "1002", "1003", "1004", "1005", "1006", "1007", "1008", "1009", "1010", "1011", "1012", "1013", "1014", "1015", "1016", "1017", "1018", "1208", "1209", "1210", "1211", "1212", "1213", "1214", "1215", "1216", "1217", "1218", "1219", "1220", "1221", "1222", "1223", "1224", "1225", "1226", "1227", "1228", "1229", "1230", "1231", "1232", "1233", "1234", "1235", "1236", "1237", "1238", "1239", "1240", "1241", "1242", "1243", "1244", "1245", "1246", "1247", "1248", "1249", "1250", "1251", "1252", "1253", "1254", "1255", "1256", "1257", "1258", "1259", "1260", "1261", "1262", "1263", "1264", "1265", "1266", "1267", "1268", "1269", "1270", "1642", "1643", "1644", "1645", "1646", "1647", "1648", "1649", "1650", "1651", "1652", "1653", "1654", "1655", "1656", "1657", "1658", "1659", "1660", "1661", "1662", "1663", "1664", "1665", "1666", "1667", "1668", "1669", "1670", "1671", "1672", "1673", "1674", "1675", "1676", "1677", "1678", "1679", "1680", "1681", "1682", "1683", "2073", "2074", "2075", "2076", "2077", "2078", "2079", "2080", "2081", "2082", "2083", "2084", "2085", "2086", "2087", "2088", "2089", "2090", "2091", "2092", "2093", "2095", "2096", "2097", "2098", "2099", "2100", "2101", "2102", "2103", "2104", "2105", "2106", "2107", "2108", "2109", "2110", "2111", "2112", "2113", "2114", "2115", "4143", "4144", "4145", "4146", "4147", "4148", "4149", "4150", "4151", "4152", "4153", "4154", "4155", "4156", "4157", "4158", "4159", "4160", "4161", "4162", "4163", "4164", "4165", "4166", "4167", "4168", "4169", "4170", "4171", "4172", "4173", "4174", "4175", "4176", "4177", "4178", "4179", "4180", "4181", "4182", "4183", "4184", "4185", "4186", "4187", "4188", "4189", "4190", "4191", "4192", "4193", "4194", "4195", "4196", "4197", "4198", "4199", "4200", "4201", "4202", "4203", "4204", "4205", "8359", "8360", "8361", "8362", "8363", "8364", "8365", "8366", "8367", "8368", "8369", "8370", "8371", "8372", "8373", "8374", "8375", "8376", "8377", "8378", "8379", "8401", "8402", "8403", "8404", "8405", "8406", "8407", "8408", "8409", "8410", "8411", "8412", "8413", "8414", "8415", "8416", "8417", "8418", "8419", "8420", "8421", "8654", "8655", "8656", "8657", "8658", "8659", "8660", "8661", "8662", "8663", "8664", "8665", "8666", "8667", "8668", "8669", "8670", "8671", "8672", "8673", "8674", "8696", "8697", "8698", "8699", "8700", "8701", "8702", "8703", "8704", "8705", "8706", "8707", "8708", "8709", "8710", "8711", "8712", "8713", "8714", "8715", "8716", "8738", "8739", "8740", "8741", "8742", "8743", "8744", "8745", "8746", "8747", "8748", "8749", "8750", "8751", "8752", "8753", "8754", "8755", "8756", "8757", "8758", "10023", "10024", "10025", "10026", "10027", "10028", "10029", "10030", "10031", "10032", "10033", "10034", "10035", "10036", "10037", "10038", "10039", "10040", "10041", "10042", "10043", "10356", "10357", "10358", "10359", "10360", "10361", "10362", "10363", "10364", "10365", "10366", "10367", "10368", "10369", "10370", "10371", "10372", "10373", "10374", "10375", "10376", "10378", "10379", "10380", "10381", "10382", "10383", "10384", "10385", "10386", "10387", "10388", "10389", "10390", "10391", "10392", "10393", "10394", "10395", "10396", "10397", "10398", "10411", "10412", "10413", "10414", "10415", "10416", "10417", "10418", "10419", "10420", "10421", "10422", "10423", "10424", "10425", "10426", "10427", "10428", "10429", "10430", "10431", "10432", "10433", "10434", "10435", "10436", "10437", "10438", "10439", "10440", "10441", "10442", "10443", "10444", "10445", "10446", "10447", "10448", "10449", "10450", "10451", "10452", "10453", "10454", "10455", "10456", "10457", "10458", "10459", "10460", "10461", "10462", "10463", "10464", "10465", "10466", "10467", "10468", "10469", "10470", "10471", "10472", "10473", "10669", "10670", "10671", "10672", "10673", "10674", "10675", "10676", "10677", "10678", "10679", "10680", "10681", "10682", "10683", "10684", "10685", "10686", "10687", "10688", "10689", "10690", "10691", "10692", "10693", "10694", "10695", "10696", "10697", "10698", "10699", "10700", "10701", "10702", "10703", "10704", "10705", "10706", "10707", "10708", "10709", "10710", "10711", "10712", "10713", "10714", "10715", "10716", "10717", "10718", "10719", "10720", "10721", "10722", "10723", "10724", "10725", "10726", "10727", "10728", "10729", "10730", "10731", "10744", "10745", "10746", "10747", "10748", "10749", "10750", "10751", "10752", "10753", "10754", "10755", "10756", "10757", "10758", "10759", "10760", "10761", "10762", "10763", "10764", "10765", "10766", "10767", "10768", "10769", "10770", "10771", "10772", "10773", "10774", "10775", "10776", "10777", "10778", "10779", "10780", "10781", "10782", "10783", "10784", "10785", "10786", "10787", "10788", "10789", "10790", "10791", "10792", "10793", "10794", "10795", "10796", "10797", "10798", "10799", "10800", "10801", "10802", "10803", "10804", "10805", "10806", "11023", "11024", "11025", "11026", "11027", "11028", "11029", "11030", "11031", "11032", "11033", "11034", "11035", "11036", "11037", "11038", "11039", "11040", "11041", "11042", "11043", "11044", "11045", "11046", "11047", "11048", "11049", "11050", "11051", "11052", "11053", "11054", "11055", "11056", "11057", "11058", "11059", "11060", "11061", "11062", "11063", "11064", "11065", "11066", "11067", "11068", "11069", "11070", "11071", "11072", "11073", "11074", "11075", "11076", "11077", "11078", "11079", "11080", "11081", "11082", "11083", "11084", "11085", "11098", "11099", "11100", "11101", "11102", "11103", "11104", "11105", "11106", "11107", "11108", "11109", "11110", "11111", "11112", "11113", "11114", "11115", "11116", "11117", "11118", "11119", "11120", "11121", "11122", "11123", "11124", "11125", "11126", "11127", "11128", "11129", "11130", "11131", "11132", "11133", "11134", "11135", "11136", "11137", "11138", "11139", "11140", "11141", "11142", "11143", "11144", "11145", "11146", "11147", "11148", "11149", "11150", "11151", "11152", "11153", "11154", "11155", "11156", "11157", "11158", "11159", "11160", "11310", "11311", "11312", "11313", "11314", "11315", "11316", "11317", "11318", "11319", "11320", "11321", "11322", "11323", "11324", "11325", "11326", "11327", "11328", "11329", "11330", "11331", "11332", "11333", "11334", "11335", "11336", "11337", "11338", "11339", "11340", "11341", "11342", "11343", "11344", "11345", "11346", "11347", "11348", "11349", "11350", "11351", "11352", "11353", "11354", "11355", "11356", "11357", "11358", "11359", "11360", "11361", "11362", "11363", "11364", "11365", "11366", "11367", "11368", "11369", "11370", "11371", "11372", "11523", "11524", "11525", "11526", "11527", "11528", "11529", "11530", "11531", "11532", "11533", "11534", "11535", "11536", "11537", "11538", "11539", "11540", "11541", "11542", "11543", "11544", "11545", "11546", "11547", "11548", "11549", "11550", "11551", "11552", "11553", "11554", "11555", "11556", "11557", "11558", "11559", "11560", "11561", "11562", "11563", "11564", "11565", "11566", "11567", "11568", "11569", "11570", "11571", "11572", "11573", "11574", "11575", "11576", "11577", "11578", "11579", "11580", "11581", "11582", "11583", "11584", "11585", "11755", "11756", "11757", "11758", "11759", "11760", "11761", "11762", "11763", "11764", "11765", "11766", "11767", "11768", "11769", "11770", "11771", "11772", "11773", "11774", "11775", "11776", "11777", "11778", "11779", "11780", "11781", "11782", "11783", "11784", "11785", "11786", "11787", "11788", "11789", "11790", "11791", "11792", "11793", "11794", "11795", "11796", "11797", "11798", "11799", "11800", "11801", "11802", "11803", "11804", "11805", "11806", "11807", "11808", "11809", "11810", "11811", "11812", "11813", "11814", "11815", "11816", "11817", "18494", "18495", "18496", "18497", "18498", "18499", "18500", "18501", "18502", "18503", "18504", "18505", "18506", "18507", "18508", "18509", "18510", "18511", "18512", "18513", "18514", "18750", "18751", "18752", "18753", "18754", "18755", "18756", "18757", "18758", "18759", "18760", "18761", "18762", "18763", "18764", "18765", "18766", "18767", "18768", "18769", "18770", "18771", "18772", "18773", "18774", "18775", "18776", "18777", "18778", "18779", "18780", "18781", "18782", "18783", "18784", "18785", "18786", "18787", "18788", "18789", "18790", "18791", "19007", "19008", "19009", "19010", "19011", "19012", "19013", "19014", "19015", "19016", "19017", "19018", "19019", "19020", "19021", "19022", "19023", "19024", "19025", "19026", "19027", "19028", "19029", "19030", "19031", "19032", "19033", "19034", "19035", "19036", "19037", "19038", "19039", "19040", "19041", "19042", "19043", "19044", "19045", "19046", "19047", "19048"] }, - "group": ["SharedData9bf2fef7"], + "group": ["SharedDatafa829c58"], "selected": {} }

@@ -778,7 +778,7 @@

2.5 Species Detections in Alberta "Wolverine": ["20", "41", "62", "83", "104", "125", "146", "167", "192", "213", "234", "255", "276", "297", "318", "351", "372", "393", "414", "435", "456", "477", "498", "542", "563", "584", "630", "651", "672", "720", "741", "793", "819", "840", "880", "901", "922", "946", "969", "990", "1017", "1049", "1070", "1091", "1112", "1140", "1161", "1182", "1203", "1227", "1248", "1269", "1293", "1314", "1335", "1356", "1377", "1398", "1420", "1441", "1462", "1483", "1504", "1531", "1552", "1573", "1594", "1615", "1636", "1661", "1682", "1706", "1727", "1748", "1769", "1790", "1811", "1832", "1853", "1874", "1895", "1916", "1941", "1963", "1984", "2005", "2026", "2047", "2068", "2092", "2114", "2138", "2159", "2180", "2201", "2222", "2243", "2264", "2285", "2306", "2327", "2348", "2369", "2391", "2412", "2433", "2454", "2484", "2505", "2526", "2547", "2568", "2589", "2610", "2631", "2652", "2676", "2697", "2718", "2739", "2773", "2794", "2815", "2836", "2857", "2878", "2899", "2920", "2941", "2965", "2986", "3007", "3028", "3049", "3083", "3104", "3125", "3146", "3167", "3188", "3209", "3230", "3251", "3275", "3296", "3317", "3338", "3359", "3390", "3411", "3432", "3456", "3477", "3498", "3519", "3540", "3561", "3582", "3603", "3624", "3645", "3666", "3687", "3708", "3729", "3760", "3781", "3802", "3826", "3847", "3868", "3889", "3910", "3931", "3952", "3973", "3994", "4015", "4036", "4057", "4078", "4099", "4120", "4141", "4162", "4183", "4204", "4232", "4253", "4274", "4298", "4319", "4340", "4361", "4382", "4403", "4424", "4445", "4466", "4487", "4508", "4529", "4550", "4571", "4592", "4613", "4634", "4655", "4686", "4707", "4728", "4749", "4770", "4791", "4815", "4836", "4857", "4878", "4899", "4920", "4941", "4962", "4983", "5004", "5025", "5047", "5079", "5100", "5121", "5142", "5163", "5187", "5208", "5229", "5250", "5271", "5292", "5313", "5334", "5355", "5376", "5397", "5418", "5439", "5460", "5481", "5511", "5533", "5555", "5576", "5597", "5621", "5642", "5663", "5684", "5705", "5726", "5747", "5768", "5789", "5810", "5831", "5852", "5873", "5894", "5922", "5943", "5964", "5985", "6006", "6027", "6048", "6070", "6091", "6112", "6133", "6157", "6178", "6199", "6220", "6241", "6262", "6283", "6304", "6325", "6346", "6374", "6395", "6416", "6437", "6458", "6479", "6500", "6521", "6542", "6563", "6584", "6605", "6627", "6649", "6670", "6691", "6712", "6733", "6754", "6775", "6796", "6817", "6838", "6866", "6887", "6908", "6929", "6950", "6971", "6995", "7016", "7037", "7061", "7082", "7103", "7124", "7145", "7166", "7187", "7208", "7229", "7250", "7274", "7295", "7316", "7337", "7358", "7379", "7403", "7424", "7445", "7469", "7490", "7511", "7532", "7553", "7574", "7595", "7616", "7637", "7665", "7686", "7707", "7728", "7749", "7770", "7794", "7815", "7836", "7860", "7881", "7902", "7923", "7944", "7965", "7986", "8007", "8028", "8056", "8077", "8098", "8119", "8140", "8161", "8185", "8206", "8231", "8252", "8273", "8294", "8315", "8336", "8357", "8378", "8399", "8420", "8441", "8467", "8488", "8509", "8542", "8568", "8589", "8610", "8631", "8652", "8673", "8694", "8715", "8736", "8757", "8782", "8803", "8824", "8859", "8883", "8904", "8926", "8947", "8968", "8989", "9010", "9031", "9052", "9073", "9094", "9115", "9136", "9171", "9195", "9217", "9238", "9259", "9280", "9301", "9322", "9343", "9364", "9385", "9406", "9427", "9448", "9481", "9502", "9523", "9550", "9571", "9592", "9613", "9635", "9659", "9680", "9701", "9734", "9755", "9776", "9803", "9824", "9845", "9866", "9887", "9908", "9929", "9952", "9973", "9994", "10015", "10042", "10063", "10084", "10108", "10129", "10150", "10177", "10198", "10219", "10240", "10261", "10282", "10309", "10330", "10351", "10375", "10397", "10430", "10451", "10472", "10493", "10514", "10535", "10556", "10577", "10598", "10622", "10643", "10664", "10688", "10709", "10730", "10763", "10784", "10805", "10826", "10847", "10868", "10889", "10910", "10931", "10952", "10976", "10997", "11018", "11042", "11063", "11084", "11117", "11138", "11159", "11180", "11201", "11222", "11243", "11264", "11285", "11306", "11329", "11350", "11371", "11404", "11425", "11446", "11470", "11492", "11519", "11542", "11563", "11584", "11617", "11638", "11659", "11683", "11704", "11725", "11752", "11774", "11795", "11816", "11849", "11870", "11891", "11914", "11935", "11956", "11977", "12004", "12030", "12051", "12076", "12097", "12118", "12142", "12163", "12184", "12205", "12226", "12247", "12274", "12295", "12317", "12338", "12362", "12383", "12404", "12428", "12449", "12470", "12494", "12515", "12536", "12557", "12578", "12599", "12626", "12647", "12668", "12689", "12710", "12732", "12753", "12774", "12798", "12819", "12840", "12864", "12885", "12906", "12927", "12948", "12969", "12996", "13017", "13038", "13059", "13080", "13107", "13128", "13149", "13170", "13191", "13212", "13233", "13254", "13278", "13299", "13320", "13341", "13362", "13383", "13404", "13425", "13446", "13467", "13488", "13509", "13530", "13551", "13577", "13598", "13619", "13640", "13661", "13682", "13703", "13724", "13748", "13769", "13790", "13811", "13832", "13853", "13874", "13895", "13916", "13937", "13958", "13979", "14000", "14021", "14042", "14068", "14089", "14110", "14131", "14152", "14173", "14194", "14218", "14239", "14260", "14281", "14302", "14323", "14344", "14365", "14386", "14407", "14428", "14449", "14470", "14491", "14512", "14535", "14559", "14580", "14601", "14625", "14646", "14667", "14689", "14710", "14731", "14752", "14773", "14795", "14816", "14837", "14858", "14879", "14900", "14925", "14946", "14967", "14991", "15012", "15033", "15054", "15075", "15097", "15119", "15140", "15161", "15182", "15203", "15224", "15245", "15266", "15291", "15312", "15337", "15358", "15379", "15400", "15421", "15442", "15463", "15484", "15505", "15527", "15548", "15569", "15590", "15611", "15633", "15654", "15675", "15696", "15717", "15738", "15759", "15780", "15801", "15822", "15843", "15864", "15885", "15906", "15927", "15948", "15969", "15990", "16011", "16032", "16053", "16074", "16095", "16116", "16137", "16158", "16179", "16200", "16221", "16242", "16264", "16285", "16307", "16328", "16349", "16370", "16391", "16412", "16433", "16454", "16475", "16496", "16517", "16538", "16559", "16580", "16601", "16622", "16643", "16664", "16685", "16706", "16728", "16749", "16770", "16791", "16812", "16833", "16857", "16882", "16903", "16925", "16947", "16968", "16989", "17010", "17031", "17052", "17073", "17097", "17121", "17142", "17163", "17184", "17205", "17226", "17247", "17268", "17290", "17311", "17332", "17357", "17380", "17401", "17422", "17443", "17464", "17485", "17506", "17527", "17548", "17569", "17590", "17611", "17635", "17656", "17677", "17698", "17721", "17742", "17763", "17787", "17808", "17829", "17850", "17871", "17893", "17915", "17936", "17957", "17978", "17999", "18020", "18044", "18065", "18086", "18107", "18129", "18150", "18171", "18192", "18213", "18236", "18257", "18278", "18302", "18323", "18344", "18365", "18386", "18407", "18428", "18449", "18470", "18491", "18513", "18534", "18555", "18576", "18597", "18618", "18639", "18660", "18681", "18702", "18723", "18744", "18769", "18790", "18811", "18833", "18854", "18875", "18896", "18917", "18938", "18959", "18981", "19002", "19026", "19047", "19068", "19089", "19110", "19131", "19152", "19173", "19194", "19215", "19236", "19257", "19278", "19300", "19321", "19342", "19363", "19384", "19405", "19426", "19449", "19470", "19491", "19512", "19533", "19554", "19575", "19596", "19617", "19638", "19659", "19680"], "Woodland Caribou": ["21", "42", "63", "84", "105", "126", "147", "168", "193", "214", "235", "256", "277", "298", "319", "352", "373", "394", "415", "436", "457", "478", "499", "543", "564", "585", "631", "652", "673", "721", "742", "794", "820", "841", "881", "902", "923", "947", "970", "991", "1018", "1050", "1071", "1092", "1113", "1141", "1162", "1183", "1204", "1228", "1249", "1270", "1294", "1315", "1336", "1357", "1378", "1399", "1421", "1442", "1463", "1484", "1505", "1532", "1553", "1574", "1595", "1616", "1637", "1662", "1683", "1707", "1728", "1749", "1770", "1791", "1812", "1833", "1854", "1875", "1896", "1917", "1942", "1964", "1985", "2006", "2027", "2048", "2069", "2093", "2115", "2139", "2160", "2181", "2202", "2223", "2244", "2265", "2286", "2307", "2328", "2349", "2370", "2392", "2413", "2434", "2455", "2485", "2506", "2527", "2548", "2569", "2590", "2611", "2632", "2653", "2677", "2698", "2719", "2740", "2774", "2795", "2816", "2837", "2858", "2879", "2900", "2921", "2942", "2966", "2987", "3008", "3029", "3050", "3084", "3105", "3126", "3147", "3168", "3189", "3210", "3231", "3252", "3276", "3297", "3318", "3339", "3360", "3391", "3412", "3433", "3457", "3478", "3499", "3520", "3541", "3562", "3583", "3604", "3625", "3646", "3667", "3688", "3709", "3730", "3761", "3782", "3803", "3827", "3848", "3869", "3890", "3911", "3932", "3953", "3974", "3995", "4016", "4037", "4058", "4079", "4100", "4121", "4142", "4163", "4184", "4205", "4233", "4254", "4275", "4299", "4320", "4341", "4362", "4383", "4404", "4425", "4446", "4467", "4488", "4509", "4530", "4551", "4572", "4593", "4614", "4635", "4656", "4687", "4708", "4729", "4750", "4771", "4792", "4816", "4837", "4858", "4879", "4900", "4921", "4942", "4963", "4984", "5005", "5026", "5048", "5080", "5101", "5122", "5143", "5164", "5188", "5209", "5230", "5251", "5272", "5293", "5314", "5335", "5356", "5377", "5398", "5419", "5440", "5461", "5482", "5512", "5534", "5556", "5577", "5598", "5622", "5643", "5664", "5685", "5706", "5727", "5748", "5769", "5790", "5811", "5832", "5853", "5874", "5895", "5923", "5944", "5965", "5986", "6007", "6028", "6049", "6071", "6092", "6113", "6134", "6158", "6179", "6200", "6221", "6242", "6263", "6284", "6305", "6326", "6347", "6375", "6396", "6417", "6438", "6459", "6480", "6501", "6522", "6543", "6564", "6585", "6606", "6628", "6650", "6671", "6692", "6713", "6734", "6755", "6776", "6797", "6818", "6839", "6867", "6888", "6909", "6930", "6951", "6972", "6996", "7017", "7038", "7062", "7083", "7104", "7125", "7146", "7167", "7188", "7209", "7230", "7251", "7275", "7296", "7317", "7338", "7359", "7380", "7404", "7425", "7446", "7470", "7491", "7512", "7533", "7554", "7575", "7596", "7617", "7638", "7666", "7687", "7708", "7729", "7750", "7771", "7795", "7816", "7837", "7861", "7882", "7903", "7924", "7945", "7966", "7987", "8008", "8029", "8057", "8078", "8099", "8120", "8141", "8162", "8186", "8207", "8232", "8253", "8274", "8295", "8316", "8337", "8358", "8379", "8400", "8421", "8442", "8468", "8489", "8510", "8543", "8569", "8590", "8611", "8632", "8653", "8674", "8695", "8716", "8737", "8758", "8783", "8804", "8825", "8860", "8884", "8905", "8927", "8948", "8969", "8990", "9011", "9032", "9053", "9074", "9095", "9116", "9137", "9172", "9196", "9218", "9239", "9260", "9281", "9302", "9323", "9344", "9365", "9386", "9407", "9428", "9449", "9482", "9503", "9524", "9551", "9572", "9593", "9614", "9636", "9660", "9681", "9702", "9735", "9756", "9777", "9804", "9825", "9846", "9867", "9888", "9909", "9930", "9953", "9974", "9995", "10016", "10043", "10064", "10085", "10109", "10130", "10151", "10178", "10199", "10220", "10241", "10262", "10283", "10310", "10331", "10352", "10376", "10398", "10431", "10452", "10473", "10494", "10515", "10536", "10557", "10578", "10599", "10623", "10644", "10665", "10689", "10710", "10731", "10764", "10785", "10806", "10827", "10848", "10869", "10890", "10911", "10932", "10953", "10977", "10998", "11019", "11043", "11064", "11085", "11118", "11139", "11160", "11181", "11202", "11223", "11244", "11265", "11286", "11307", "11330", "11351", "11372", "11405", "11426", "11447", "11471", "11493", "11520", "11543", "11564", "11585", "11618", "11639", "11660", "11684", "11705", "11726", "11753", "11775", "11796", "11817", "11850", "11871", "11892", "11915", "11936", "11957", "11978", "12005", "12031", "12052", "12077", "12098", "12119", "12143", "12164", "12185", "12206", "12227", "12248", "12275", "12296", "12318", "12339", "12363", "12384", "12405", "12429", "12450", "12471", "12495", "12516", "12537", "12558", "12579", "12600", "12627", "12648", "12669", "12690", "12711", "12733", "12754", "12775", "12799", "12820", "12841", "12865", "12886", "12907", "12928", "12949", "12970", "12997", "13018", "13039", "13060", "13081", "13108", "13129", "13150", "13171", "13192", "13213", "13234", "13255", "13279", "13300", "13321", "13342", "13363", "13384", "13405", "13426", "13447", "13468", "13489", "13510", "13531", "13552", "13578", "13599", "13620", "13641", "13662", "13683", "13704", "13725", "13749", "13770", "13791", "13812", "13833", "13854", "13875", "13896", "13917", "13938", "13959", "13980", "14001", "14022", "14043", "14069", "14090", "14111", "14132", "14153", "14174", "14195", "14219", "14240", "14261", "14282", "14303", "14324", "14345", "14366", "14387", "14408", "14429", "14450", "14471", "14492", "14513", "14536", "14560", "14581", "14602", "14626", "14647", "14668", "14690", "14711", "14732", "14753", "14774", "14796", "14817", "14838", "14859", "14880", "14901", "14926", "14947", "14968", "14992", "15013", "15034", "15055", "15076", "15098", "15120", "15141", "15162", "15183", "15204", "15225", "15246", "15267", "15292", "15313", "15338", "15359", "15380", "15401", "15422", "15443", "15464", "15485", "15506", "15528", "15549", "15570", "15591", "15612", "15634", "15655", "15676", "15697", "15718", "15739", "15760", "15781", "15802", "15823", "15844", "15865", "15886", "15907", "15928", "15949", "15970", "15991", "16012", "16033", "16054", "16075", "16096", "16117", "16138", "16159", "16180", "16201", "16222", "16243", "16265", "16286", "16308", "16329", "16350", "16371", "16392", "16413", "16434", "16455", "16476", "16497", "16518", "16539", "16560", "16581", "16602", "16623", "16644", "16665", "16686", "16707", "16729", "16750", "16771", "16792", "16813", "16834", "16858", "16883", "16904", "16926", "16948", "16969", "16990", "17011", "17032", "17053", "17074", "17098", "17122", "17143", "17164", "17185", "17206", "17227", "17248", "17269", "17291", "17312", "17333", "17358", "17381", "17402", "17423", "17444", "17465", "17486", "17507", "17528", "17549", "17570", "17591", "17612", "17636", "17657", "17678", "17699", "17722", "17743", "17764", "17788", "17809", "17830", "17851", "17872", "17894", "17916", "17937", "17958", "17979", "18000", "18021", "18045", "18066", "18087", "18108", "18130", "18151", "18172", "18193", "18214", "18237", "18258", "18279", "18303", "18324", "18345", "18366", "18387", "18408", "18429", "18450", "18471", "18492", "18514", "18535", "18556", "18577", "18598", "18619", "18640", "18661", "18682", "18703", "18724", "18745", "18770", "18791", "18812", "18834", "18855", "18876", "18897", "18918", "18939", "18960", "18982", "19003", "19027", "19048", "19069", "19090", "19111", "19132", "19153", "19174", "19195", "19216", "19237", "19258", "19279", "19301", "19322", "19343", "19364", "19385", "19406", "19427", "19450", "19471", "19492", "19513", "19534", "19555", "19576", "19597", "19618", "19639", "19660", "19681"] }, - "group": ["SharedData9bf2fef7"], + "group": ["SharedDatafa829c58"], "selected": ["Badger"] } @@ -786,8 +786,8 @@

2.5 Species Detections in Alberta -
- +
+ diff --git a/docs/index.html b/docs/index.html index 2a2f418..51c0594 100644 --- a/docs/index.html +++ b/docs/index.html @@ -23,7 +23,7 @@ - + @@ -58,16 +58,16 @@ - + - + - + @@ -265,7 +265,7 @@

1 Introduction

diff --git a/docs/protocol-calibrations.html b/docs/protocol-calibrations.html index 684ef2e..5cd84d1 100644 --- a/docs/protocol-calibrations.html +++ b/docs/protocol-calibrations.html @@ -23,7 +23,7 @@ - + @@ -58,16 +58,16 @@ - + - + - + @@ -267,6 +267,527 @@

5 Protocol Calibrations

5.1 Lure

+

For many species, and carnivores in particular, detections at randomly located camera sites can be very low. Lure or other attractants are often used to increase the number of detections at cameras, which can help reduce the high inherent measurement error of cameras. However, lures clearly violate the assumption that animal movement is not influenced by the camera deployment.

+

The ABMI deploys both lured and unlured cameras in a paired design to calibrate lure effects for each species. Each site uses four cameras spaced 600 m apart, two of which were lured. This design allows for a simple paired comparison of species’ occurrences and time in field-of-view. Direct comparisons of lured and unlured deployments are not confounded by geographic location, year, or, with enough samples, microhabitats. We examined results for common species at 558 core sites from both lured and unlured cameras (992 of each, with two pairs at most sites) with the same total operating times. We summarized the ratio of lured:unlured results by species in three measures: (1) Occurrence (presence/absence at the camera over the entire deployment time); (2) Density given Occurrence (density at only cameras where the species was present); and (3) Total Density (the product of occurrence and density given occurrence, that is, our density estimates as described in previous sections). We used bootstrapping to calculate confidence intervals for each mean ratio, with site as the re-sampling unit2. Table ?? displays the results across all three measures for 14 species with sufficient data. Figure (fig:lure-plot) displays the Total Density results for those same 14 species, differentiating between the carnivores and non-carnivores.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SpeciesOccurrenceDensity|OccurrenceTotal Density
White-tailed Deer1.030.930.96
Moose1.081.071.15
Elk1.131.301.46
Mule Deer1.021.741.77
Canada Lynx1.471.392.05
Woodland Caribou1.272.032.59
Black Bear1.352.493.36
Marten2.511.493.73
Cougar2.351.653.88
Grizzly Bear1.632.464.01
Coyote1.402.924.08
Gray Wolf1.803.025.43
Red Fox2.123.367.13
Fisher4.552.3810.83
+
+


+
+Lure effect on Total Density +

+Figure 5.1: Lure effect on Total Density +

+
+

The ratio of the mean lured:unlured values for moose occurrence was 1.07 (90% CI: 0.99–1.16), 1.17 (0.92–1.5) for density given occurrence, and 1.26 (0.98–1.62) for total density. We found more substantial positive effects of lure for other species, particularly fisher (Pekania pennanti), red fox (Vulpes vulpes), and gray wolf (Canis lupus) (Appendix S5). For these carnivore species, a larger proportion of the effect on total density came from the density given occurrence component, indicating that lure was primarily effective for increasing the time animals spend in the camera field-of-view. Occurrence increases due to lure tended to be smaller, which suggests that animals are not being drawn in from large distances. We use the total density ratios to correct the estimates of densities at lured cameras to an unlured density equivalent.

5.2 Deployment Height

@@ -281,6 +802,12 @@

5.4 Camera Age5.5 Game Trails

+ +
+
+
    +
  1. Calculating Lure Effects - This script demonstrates how lure effects are calculated using the paired ABMI camera design.↩︎

  2. +
diff --git a/docs/reference-keys.txt b/docs/reference-keys.txt index 26d4c5d..1dcc5f3 100644 --- a/docs/reference-keys.txt +++ b/docs/reference-keys.txt @@ -4,6 +4,7 @@ fig:gap-illustration tab:tbi eq:edd eq:sa +fig:lure-plot introduction acknowledgement suggested-citation diff --git a/docs/references.html b/docs/references.html index 5592376..ec511b8 100644 --- a/docs/references.html +++ b/docs/references.html @@ -23,7 +23,7 @@ - + @@ -58,16 +58,16 @@ - + - + - + @@ -281,6 +281,7 @@

References diff --git a/docs/search_index.json b/docs/search_index.json index 9b58fc4..b57eaab 100644 --- a/docs/search_index.json +++ b/docs/search_index.json @@ -1 +1 @@ -[["index.html", "Using remote camera trap images to estimate densities and develop habitat models for mammals in Alberta, Canada 1 Introduction 1.1 Acknowledgement 1.2 Suggested Citation 1.3 Contact", " Using remote camera trap images to estimate densities and develop habitat models for mammals in Alberta, Canada Marcus Becker, Dr. David J. Huggard, Dr. David Roberts 2024-01-08 1 Introduction The Alberta Biodiversity Monitoring Institute (ABMI) has developed a monitoring program for mammals within the province of Alberta, Canada. This technical document contains information describing how the image data from remote camera traps deployed across the province is collected, processed, and analyzed. This document will be updated as necessary to reflect changes in available data, deployment protocols, and modeling procedures. Readers are also encouraged to visit the ABMI’s Biodiversity Browser for current mammal species results. 1.1 Acknowledgement We would like to acknowledge that this work would not be possible without the dedication of the ABMI staff, both past and present. Field staff, geospatial experts, taxonomists, image taggers, and ecologists have all been integral components to this work. 1.2 Suggested Citation Alberta Biodiversity Monitoring Institute. 2024. Using remote camera trap images to estimate densities and develop habitat models for mammals in Alberta, Canada. Alberta Biodiversity Monitoring Institute, Alberta, Canada. (https://abbiodiversity.github.io/MammalModels/). 1.3 Contact For all questions related to this document, the code therein, or acquiring raw image data, please contact Marcus Becker (marcus.becker@ualberta.ca). "],["data-collection.html", "2 Data Collection 2.1 Overview 2.2 Deployment Protocols 2.3 Camera Projects 2.4 Deployment Periods 2.5 Species Detections in Alberta", " 2 Data Collection 2.1 Overview The ABMI has been using remote cameras to monitor mammal species in the province since 2014. As of 2024-01-08, the ABMI has deployed X number of cameras across the province. 2.2 Deployment Protocols The ABMI’s remote camera deployment protocols can be accessed here: Terrestrial ABMI Autonomous Recording Unit (ARU) and Remote Camera Trap Protocols. 2.3 Camera Projects The following camera projects have been deployed by the ABMI: Organize by year or type of project? Use gt package? Note - would be nice to have a link to the WildTrax project for those projects that are published. Project No. Cameras Status Adopt-a-Camera 2017 83 Published - Map+Report Only Amphibian Monitoring 2020 19 Published - Map+Report Only Camera Model Comparison 2018 7 Active Camera Model Comparison 2019 14 Active Camera Model Comparison 2020 16 Active Camera Model Comparison 2021 19 Active Camera Model Comparison 2022 14 Active Citizen Science Monitoring 2016 23 Active Ecosystem Health 2014 22 Published - Map+Report Only Ecosystem Health 2015 552 Published - Map+Report Only Ecosystem Health 2016 624 Active Ecosystem Health 2017 723 Published - Map+Report Only Ecosystem Health 2018 712 Published - Map+Report Only Ecosystem Health 2019 418 Active Ecosystem Health 2020 175 Published - Map+Report Only Ecosystem Health 2021 86 Published - Map+Report Only Ecosystem Health 2022 213 Active Ecosystem Health 2023 134 Active Edge-Interior Surveys 2017 55 Active Height Comparison 2022 20 Active Northern Focal Areas 2019 201 Active Northern Focal Areas 2020 165 Active North Saskatchewan Monitoring 2018 22 Published - Map+Report Only Off-Grid Monitoring 2015 87 Published - Map+Report Only Off-Grid Monitoring 2017 63 Published - Map+Report Only Off-Grid Monitoring 2018 106 Published - Map+Report Only Operation Community Grassland 2015 12 Active OSM 2021 196 Published - Map+Report Only OSM 2022 203 Active Southern Focal Areas 2019 26 Active Southern Focal Areas 2021 27 Active Biodiversity Trajectories 2023 100 Active 2.3.1 Image Tagging Image tagging is done on the WildTrax platform. Raw data is also publicly available from the ABMI via this platform. The image tagging protocols used by the ABMI can be accessed here: There is a companion R package, wildRtrax, which is also publicly available and contains many useful functions for downloading and analyzing camera data hosted on the platform. Throughout this document, references will be made to functions within this package. Note: Would be nice to insert the wildRtrax package logo. 2.4 Deployment Periods Here we can include all those figures. Yay. Do we really want that? 2.5 Species Detections in Alberta The map below displays mammal species detections at ABMI Ecosystem Health (i.e., core grid) sites sampled with cameras between 2014 and 2022. Each site represented in the map below is sampled with four individual cameras placed 600-m apart in a square shape. Note that if a species is detected at at least one of the four cameras, the species is registered as an occurrence on the site map. (Note: Need to add EH 2023) Sampling Year: 2014 2015 2016 2017 2018 2019 2020 2021 2022 Species: "],["calculating-animal-density.html", "3 Calculating Animal Density 3.1 Overview 3.2 Basic Model 3.3 Time in Field-of-View 3.4 Time of Camera Operation 3.5 Effective Detection Distances 3.6 Calculating Density 3.7 Assumptions", " 3 Calculating Animal Density This chapter describes how the Time In Front of Camera (TIFC) method is used to calculate animal density with images collected from remote cameras. This method is also documented in Becker et al (2022). 3.1 Overview 3.1.1 Simple Explanation Density is the number of objects (trees, animals, etc.) per unit area. If a 100-m\\(^2\\) plot contains one tree, the density is 1 tree/100-m\\(^2\\), or 10,000 trees per km\\(^2\\) ( Figure ??). Similarly, if a camera has a field-of-view of 100-m\\(^2\\) and there is always one animal in the field-of-view for the whole time that the camera is operating, the density of that species is 1 animal per 100-m\\(^2\\), or 10,000 animals per km\\(^2\\). It doesn’t matter if the animal is moving around within the field-of-view, as long as it stays in the field-of-view for the whole time. On the other hand, if that camera only has an animal in the field-of-view 1/10,000 of the time that it is operating, there is 1/10,000 animal per 100-m\\(^2\\), or 1 animal per km-\\(^2\\). If the camera has two animals together for 1/10,000 of the time, this gives 2/10,000 animals per 100-m\\(^2\\), or 2 animals per km-\\(^2\\). This is how we use cameras to calculate density. For a given density of animals, this simple measure is independent of home range sizes or movement rates. If home ranges were twice as big, they would have to overlap twice as much to maintain the same density. Therefore, an individual would be in a particular camera’s field-of-view half as often (because its home range is bigger – it has more other places to be), but there would be twice as many individuals at that camera. If movement rates were twice as fast, an individual would pass by the camera twice as often, but would spend half as much time in the field-of-view (because it is moving faster). For the simple example above, there would be two visits to the camera each occupying 1/20,000 of the time the camera is operating, rather than one visit for 1/10,000 of the time. The other way of putting this is that only the total animal-time in the field-of-view matters, whether that comes from one long visit by one individual, several short visits by one individual, or several short visits each by a different individual. In all those cases, the density is the same; it is only the home range size and overlap and/or movement rates that are changing. Two features of cameras require us to do some additional data processing to use this simple density measure: Cameras do not survey fixed areas, unlike quadrats. The probability of an animal triggering the camera decreases with distance. We therefore have to estimate an effective detection distance (EDD) for the cameras, as is done for unlimited-distance point counts for birds or unlimited distance transect surveys. This effective distance can vary for different species, habitat types and time of year. Cameras take a series of images at discrete intervals, rather than providing a continuous record of how long an animal is in the field-of-view. The discrete intervals need to be converted to a continuous measure to show how long the animal was in the field-of-view, accounting for the possibility that a moderately long interval between images might be from an animal present but not moving much, and therefore not triggering the camera, versus an animal that left the field-of-view and returned. 3.2 Basic Model Here is the basic model (equation) 3.3 Time in Field-of-View 3.3.1 Probabilistic gaps From a pilot study, we determined that if there is a gap of less than 20 seconds between images of the same species at a camera, the animal is almost always still in the view (no evidence of it walking out and returning). Missing the odd time when it leaves the view for less than 20 seconds has little effect on estimates of the total time it is in the field-of-view. At the other end, if there is a gap of >120 seconds between images of the same species, this almost always represented animals leaving and then returning (i.e., the animal is seen walking out of the field-of-view, then walking back in). Gaps of 20-120 seconds are uncertain. These relatively long periods when the animal could be in the field-of-view or not are important when estimating the total duration animals are in the field-of-view, and thus density. Using images from the 2015 ABMI Ecosystem Health project, we checked each 20-120 second gap in series’ of native mammals for evidence of the animal leaving and returning. We supplemented the 2015 data for less common species using data from 2016 and 2017. We looked at several images on either side of gaps of 20-120 seconds. In each sequence, the animal was designated as having left the field-of-view during the 20-120 second gap if there was clear evidence of it walking out of the field-of-view and then returning (or a different individual entering the field-of-view). If the animal stayed in one location within the field-of-view, or sequential images showed the animal in disconnected places (as often happens with smaller animals), the animal was assumed to have stayed. Through this tagging procedure, we obtained the following training data to estimate the probability of an animal leaving during a gaps between 20 and 120 seconds between images. The diff_time variable refers to the number of seconds between images and the left variable refers to whether or not the individual left the camera field-of-view and returned (‘Yes’) or showed in the field-of-view for the duration of the gap (‘No’). head(raw_gap_data, 10) ## # A tibble: 10 × 3 ## species_common_name diff_time left ## <fct> <dbl> <chr> ## 1 Snowshoe Hare 43 Yes ## 2 Canada Lynx 31 No ## 3 Canada Lynx 63 No ## 4 Canada Lynx 22 No ## 5 Canada Lynx 22 Yes ## 6 Moose 29 No ## 7 Moose 21 No ## 8 Moose 36 No ## 9 Snowshoe Hare 23 No ## 10 Canada Lynx 73 Yes Using White-tailed Deer as an example, we can visualize this data in Figure 3.1. In general, observations where the animal stayed in the field of view are more closely clustered around the 20 second mark, and observations where the animal left the field of view are more evenly spread across the range of gap lengths. Figure 3.1: White-tailed Deer. We used this data to develop models of the probability of a species leaving the field-of-view during a 20-120 second gap as a function of the gap duration. Smoothing splines were fit to the probability of leaving as a function of gap length, using a logit-linked binomial model. # Develop model for each species, then make predictions for each second along the 20-120 second span predictions <- raw_gap_data |> mutate(left = ifelse(left == "Yes", 1, 0)) |> group_by(species_common_name) |> nest() |> # Models and predictions mutate(model = map(.x = data, ~ smooth.spline(x = .$diff_time, y = .$left, df = 3)), pred = map(.x = model, ~ predict(., x = 20:120))) |> select(species_common_name, pred) |> unnest_wider(pred) |> unnest(cols = c(x, y)) |> rename(diff_time = x, pred = y) |> ungroup() We can plot the model predictions for each value between the 20-120 second interval as follows (Figure 3.2). In the case of White-tailed Deer, the model predicts that there is ~40% chance that an individual would have left the field of view and returned during a gap of 20 seconds; similarly, the model predicts there is an over 80% chance that a gap of 120 seconds would mean the animal left the field of view and returned. Figure 3.2: Probability of leaving the field-of-view based on gap length between subsequent images for white-tailed deer. The 40% chance the individual left the camera field of view for gaps of 20 seconds implies that they may also have left in slightly shorter gaps, where we assume they all stayed. However, it makes little difference to the total duration to miss a few shorter gaps where the animals left (i.e., to add that extra little bit of time in), especially because we add time to the start and end of a series (next section). At the other end, there was evidence that animals left in about 80% of the 120 second gaps. Missing long periods when an individual is present in the field of view but not moving would lead to underestimates of their densities. For trend estimates and habitat modeling, we would have to assume that the prevalence of those misses does not change over time or by habitat type. Ideally, each gap between images would be checked to see if the animal left or not. However, the process of checking each gap is time-consuming. When we have direct information on gap-leaving, we define a series as any set of images separated by less than 120 seconds, unless the animal was observed to leave the field-of-view (in gaps of 20-120 seconds that were checked) (illustrated in 3.3). If it did leave in a gap, then the series ends at the preceding image, and a new series starts when the animal (or a different individual) returns in the subsequent image. The species is in the field-of-view from the first to the last image in the field-of-view (plus end buffers; described below). When we haven’t examined 20-120 second gaps, a series is all images separated by <120 seconds. However, we then use the above models of gap-leaving probabilities to prorate the 20-120 second gaps for the probability that the species left for a gap of that length. Instead of the full 20-120 second gap length, we only add the duration of the gap x (1 – probability of leaving) to the total series length (illustrated in 3.3, bottom). For example, if there were 4 images separated by 10 seconds, 5 seconds, 60 seconds and 10 seconds, and the model for that species showed a 40% chance that it left in a gap of 60 seconds, then the total time in the field-of-view for that series is 10 + 5 + 60 x (1 - 0.4) + 10 = 61 seconds. (And, if there were an average of 1.25 individuals in those 4 images, the total animal-seconds would be 1.25 x 61 = 76.25 animal-seconds). Finally, we must consider the time before the first image and after the last image of a series, and time to allocate to single-image series’. We estimate that by calculating the average time between images in all series, separately by species (Table 3.1). This is typically 4-7 seconds for larger species and somewhat longer for small species. This time is added to the duration of each series, including to single-image series, which would otherwise have a duration of 0 seconds (striped sections in 3.3. The assumption is that the animal is in the field-of-view for half the average inter-photo time before the first image, and after the last image. (Although animals often appear to be further into the field-of-view when the first image is taken, and nearer the edge when the final one is taken, presumably reflecting a lag-time in the motion-detector – the assumption is that this averages to the average interval within series). When we have 20-120 second gaps that are using the probabilistic gap-leaving model, we add this extra time on the start and end of the whole series in the normal way, and we also added this time multiplied by the probability of leaving for each 20-120 second gap, to account for the cases where the animal would have left the field-of-view in those 20-120 second gaps and hence created another series. Figure 3.3: Illustration of how sequential individual images are converted to series, and how the species’ total time in the field-of-view is calculated for each series, when we have directly examined gaps of 20-120 seconds (top) or not examined them and used probabilistic model instead (bottom). Table 3.1: Average time between sequential images of the same species Species Average time between images (s) Snowshoe Hare 10.97 Fisher 9.81 Marten 8.45 Coyote 7.66 Black Bear 6.25 Gray Wolf 5.77 Pronghorn 5.43 White-tailed Deer 4.96 Canada Lynx 4.85 Mule Deer 4.76 Moose 4.53 Woodland Caribou 4.19 Elk (wapiti) 3.85 3.4 Time of Camera Operation 3.5 Effective Detection Distances One option to define the area surveyed by cameras is to define a fixed maximum distance, using a pole or other marker at 5m or 10m or whatever is appropriate. Animals beyond that distance are not counted. The assumption, which should be tested, is that all target species are detected if they are within that distance. The downside of this simple approach is that it excludes data from animals detected in the potentially long tail of greater distances where they are partially detectable. The ABMI uses all images (unlimited distance), with a procedure to estimate the effective detection distance of cameras. “Effective detection distance” is the fixed distance that would give the same number of detections as observed if all animals up to that distance were perfectly detectable and none were detectable further away. This approach is used for any point counts or transects with unlimited distances or with distance bands beyond the distance of perfect detectability. In the ABMI protocol, we place a prominently coloured pole 5m from the camera. All native mammals are recorded as being closer than the pole or farther than the pole, with additional categories for animals that are uncertain (near 5m but not directly in line with the pole), investigating the pole, or investigating the camera. Simple geometry gives the effective detection distance from the proportion of locations that are <5m away versus >5m (excluding the uncertain and investigating images), which is shown in Equation (3.1). \\[\\begin{equation} EDD~(m) = \\frac{5}{sqrt(1-p_{>5m})} \\tag{3.1} \\end{equation}\\] where p is the proportion of images with the species greater than 5-m away. The area surveyed by the camera then becomes as shown in Equation (3.2). \\[\\begin{equation} Surveyed~Area~(m^2)~=~\\frac{(π~*~EDD^2~*~angle)}{360} \\tag{3.2} \\end{equation}\\] where angle is the angle of the camera’s field-of-view in degrees (40° for the Reconyx PC900 model cameras that the ABMI uses)1. Detection distances are expected to differ for different species, by habitat types, and possibly by season (e.g., on snowpacks versus in summer shrubs). We therefore used the results to develop detection-distance models for eleven species groups and eight broad habitat types: deciduous forest, upland conifer forest, upland grass, shrub, lowland forest, wet grass, water and human footprint. BIC-based model selection examined seven models with those habitat types grouped into broader categories, and seven more that added a factor for season (winter = October 15 – April 14, summer = April 15 – October 14). Below we plot the estimated EDD for different species groups for each of the eight broad habitat types and two seasons. 3.6 Calculating Density Include how to calculate confidence intervals on density of areas. A final consideration is the sampling distribution of density estimates. Because individual cameras sample tiny areas compared to the home ranges of the species they survey, the resulting sampling distribution can be horrendous – the majority of cameras never detect the species at all (density = 0), a few cameras record the species passing by once or twice for brief periods (low densities), and a very few number of cameras record long durations as the animals forage, rest, or play in front of the camera, or revisit a favourite spot repeatedly (very high densities). Longer duration camera deployments can help smooth out some of that extreme variation, but ultimately large numbers of cameras are required for precise estimates. Appropriate questions, rigorous study designs, and modest expectations are required for camera-based studies. 3.7 Assumptions There are a number of strong assumptions involved in using this measure to estimate density of a species. A couple big assumptions are: The cameras are a random or otherwise representative sample of the area. The density estimate applies to the field-of-view of the cameras. To make inferences about a larger region, the cameras need to be surveying a random or representative (e.g., systematic, systematic-random, random stratified) sample of the larger region. In particular, if cameras are intentionally placed in areas where species are more common, such as game trails, then the density estimate only applies to those places, not to a larger region. Animals are not attracted to or repelled by the cameras (or posts used to deploy the cameras, etc). That also means that they do not spend more or less time in front of the camera because of the presence of the camera. The effect of lures or other attractants needs to be explicitly measured and accounted for. There are additional assumptions involved in the procedures to estimate effective detection distance, including an assumption that all animals within a certain distance of the camera are detected, and in converting the discrete images into time in field-of-view. These assumptions are discussed below. Because the world is complicated, assumptions are never met perfectly. The important thing is to consider – and, ideally, design auxiliary tests to measure – is whether the violations are serious enough to impact the answer to whatever question(s) the cameras are being used to answer. In many cases, absolute density estimates may not be accurate, but the results can still serve as a usable index of relative density, if assumptions are violated about equally in whatever units are being compared (habitat types, experimental treatments, years for long-term trend, etc). The PC900 model was discontinued by Reconyx and the ABMI now used the HP2X model. In Section X we discuss calibrations between the two camera models in order to combine data collected from both.↩︎ "],["testing-assumptions.html", "4 Testing Assumptions 4.1 Movement not affected by the camera 4.2 Representative sampling of microhabitats 4.3 Perfect detection near the camera", " 4 Testing Assumptions In this section we describe work that has been done to test the assumptions of the TIFC method. 4.1 Movement not affected by the camera 4.2 Representative sampling of microhabitats 4.3 Perfect detection near the camera "],["protocol-calibrations.html", "5 Protocol Calibrations 5.1 Lure 5.2 Deployment Height 5.3 Camera Model 5.4 Camera Age 5.5 Game Trails", " 5 Protocol Calibrations In this section we describe corrections to common protocol differences. 5.1 Lure 5.2 Deployment Height 5.3 Camera Model 5.4 Camera Age 5.5 Game Trails "],["sharing-your-book.html", "6 Sharing your book 6.1 Publishing 6.2 404 pages 6.3 Metadata for sharing 6.4 Footnotes 6.5 Citations", " 6 Sharing your book 6.1 Publishing HTML books can be published online, see: https://bookdown.org/yihui/bookdown/publishing.html 6.2 404 pages By default, users will be directed to a 404 page if they try to access a webpage that cannot be found. If you’d like to customize your 404 page instead of using the default, you may add either a _404.Rmd or _404.md file to your project root and use code and/or Markdown syntax. 6.3 Metadata for sharing Bookdown HTML books will provide HTML metadata for social sharing on platforms like Twitter, Facebook, and LinkedIn, using information you provide in the index.Rmd YAML. To setup, set the url for your book and the path to your cover-image file. Your book’s title and description are also used. This gitbook uses the same social sharing data across all chapters in your book- all links shared will look the same. Specify your book’s source repository on GitHub using the edit key under the configuration options in the _output.yml file, which allows users to suggest an edit by linking to a chapter’s source file. Read more about the features of this output format here: https://pkgs.rstudio.com/bookdown/reference/gitbook.html Or use: ?bookdown::gitbook 6.4 Footnotes Footnotes are put inside the square brackets after a caret ^[]. Like this one 2. 6.5 Citations Reference items in your bibliography file(s) using @key. For example, we are using the bookdown package (Xie 2022) (check out the last code chunk in index.Rmd to see how this citation key was added) in this sample book, which was built on top of R Markdown and knitr (Xie 2015) (this citation was added manually in an external file book.bib). Note that the .bib files need to be listed in the index.Rmd with the YAML bibliography key. The RStudio Visual Markdown Editor can also make it easier to insert citations: https://rstudio.github.io/visual-markdown-editing/#/citations References "],["references.html", "References", " References "],["404.html", "Page not found", " Page not found The page you requested cannot be found (perhaps it was moved or renamed). You may want to try searching to find the page's new location, or use the table of contents to find the page you are looking for. "]] +[["index.html", "Using remote camera trap images to estimate densities and develop habitat models for mammals in Alberta, Canada 1 Introduction 1.1 Acknowledgement 1.2 Suggested Citation 1.3 Contact", " Using remote camera trap images to estimate densities and develop habitat models for mammals in Alberta, Canada Marcus Becker, Dr. David J. Huggard, Dr. David Roberts 2024-04-16 1 Introduction The Alberta Biodiversity Monitoring Institute (ABMI) has developed a monitoring program for mammals within the province of Alberta, Canada. This technical document contains information describing how the image data from remote camera traps deployed across the province is collected, processed, and analyzed. This document will be updated as necessary to reflect changes in available data, deployment protocols, and modeling procedures. Readers are also encouraged to visit the ABMI’s Biodiversity Browser for current mammal species results. 1.1 Acknowledgement We would like to acknowledge that this work would not be possible without the dedication of the ABMI staff, both past and present. Field staff, geospatial experts, taxonomists, image taggers, and ecologists have all been integral components to this work. 1.2 Suggested Citation Alberta Biodiversity Monitoring Institute. 2024. Using remote camera trap images to estimate densities and develop habitat models for mammals in Alberta, Canada. Alberta Biodiversity Monitoring Institute, Alberta, Canada. (https://abbiodiversity.github.io/MammalModels/). 1.3 Contact For all questions related to this document, the code therein, or acquiring raw image data, please contact Marcus Becker (marcus.becker@ualberta.ca). "],["data-collection.html", "2 Data Collection 2.1 Overview 2.2 Deployment Protocols 2.3 Camera Projects 2.4 Deployment Periods 2.5 Species Detections in Alberta", " 2 Data Collection 2.1 Overview The ABMI has been using remote cameras to monitor mammal species in the province since 2014. As of 2024-04-16, the ABMI has deployed X number of cameras across the province. 2.2 Deployment Protocols The ABMI’s remote camera deployment protocols can be accessed here: Terrestrial ABMI Autonomous Recording Unit (ARU) and Remote Camera Trap Protocols. 2.3 Camera Projects The following camera projects have been deployed by the ABMI: Organize by year or type of project? Use gt package? Note - would be nice to have a link to the WildTrax project for those projects that are published. Project No. Cameras Status Adopt-a-Camera 2017 83 Published - Map+Report Only Amphibian Monitoring 2020 19 Published - Map+Report Only Camera Model Comparison 2018 7 Active Camera Model Comparison 2019 14 Active Camera Model Comparison 2020 16 Active Camera Model Comparison 2021 19 Active Camera Model Comparison 2022 14 Active Citizen Science Monitoring 2016 23 Active Ecosystem Health 2014 22 Published - Map+Report Only Ecosystem Health 2015 552 Published - Map+Report Only Ecosystem Health 2016 624 Active Ecosystem Health 2017 723 Published - Map+Report Only Ecosystem Health 2018 712 Published - Map+Report Only Ecosystem Health 2019 418 Active Ecosystem Health 2020 175 Published - Map+Report Only Ecosystem Health 2021 86 Published - Map+Report Only Ecosystem Health 2022 213 Published - Map+Report Only Ecosystem Health 2023 134 Published - Map+Report Only Edge-Interior Surveys 2017 55 Active Height Comparison 2022 20 Active Northern Focal Areas 2019 201 Active Northern Focal Areas 2020 165 Active North Saskatchewan Monitoring 2018 22 Published - Map+Report Only Off-Grid Monitoring 2015 87 Published - Map+Report Only Off-Grid Monitoring 2017 63 Published - Map+Report Only Off-Grid Monitoring 2018 106 Published - Map+Report Only Operation Community Grassland 2015 12 Active OSM 2021 166 Published - Map+Report Only OSM 2022 203 Published - Map+Report Only Southern Focal Areas 2019 26 Active Southern Focal Areas 2021 27 Active Biodiversity Trajectories 2023 100 Active 2.3.1 Image Tagging Image tagging is done on the WildTrax platform. Raw data is also publicly available from the ABMI via this platform. The image tagging protocols used by the ABMI can be accessed here: There is a companion R package, wildRtrax, which is also publicly available and contains many useful functions for downloading and analyzing camera data hosted on the platform. Throughout this document, references will be made to functions within this package. Note: Would be nice to insert the wildRtrax package logo. 2.4 Deployment Periods Here we can include all those figures. Yay. Do we really want that? 2.5 Species Detections in Alberta The map below displays mammal species detections at ABMI Ecosystem Health (i.e., core grid) sites sampled with cameras between 2014 and 2022. Each site represented in the map below is sampled with four individual cameras placed 600-m apart in a square shape. Note that if a species is detected at at least one of the four cameras, the species is registered as an occurrence on the site map. (Note: Need to add EH 2023) Sampling Year: 2014 2015 2016 2017 2018 2019 2020 2021 2022 Species: "],["calculating-animal-density.html", "3 Calculating Animal Density 3.1 Overview 3.2 Basic Model 3.3 Time in Field-of-View 3.4 Time of Camera Operation 3.5 Effective Detection Distances 3.6 Calculating Density 3.7 Assumptions", " 3 Calculating Animal Density This chapter describes how the Time In Front of Camera (TIFC) method is used to calculate animal density with images collected from remote cameras. This method is also documented in Becker et al (2022). 3.1 Overview 3.1.1 Simple Explanation Density is the number of objects (trees, animals, etc.) per unit area. If a 100-m\\(^2\\) plot contains one tree, the density is 1 tree/100-m\\(^2\\), or 10,000 trees per km\\(^2\\) ( Figure ??). Similarly, if a camera has a field-of-view of 100-m\\(^2\\) and there is always one animal in the field-of-view for the whole time that the camera is operating, the density of that species is 1 animal per 100-m\\(^2\\), or 10,000 animals per km\\(^2\\). It doesn’t matter if the animal is moving around within the field-of-view, as long as it stays in the field-of-view for the whole time. On the other hand, if that camera only has an animal in the field-of-view 1/10,000 of the time that it is operating, there is 1/10,000 animal per 100-m\\(^2\\), or 1 animal per km-\\(^2\\). If the camera has two animals together for 1/10,000 of the time, this gives 2/10,000 animals per 100-m\\(^2\\), or 2 animals per km-\\(^2\\). This is how we use cameras to calculate density. For a given density of animals, this simple measure is independent of home range sizes or movement rates. If home ranges were twice as big, they would have to overlap twice as much to maintain the same density. Therefore, an individual would be in a particular camera’s field-of-view half as often (because its home range is bigger – it has more other places to be), but there would be twice as many individuals at that camera. If movement rates were twice as fast, an individual would pass by the camera twice as often, but would spend half as much time in the field-of-view (because it is moving faster). For the simple example above, there would be two visits to the camera each occupying 1/20,000 of the time the camera is operating, rather than one visit for 1/10,000 of the time. The other way of putting this is that only the total animal-time in the field-of-view matters, whether that comes from one long visit by one individual, several short visits by one individual, or several short visits each by a different individual. In all those cases, the density is the same; it is only the home range size and overlap and/or movement rates that are changing. Two features of cameras require us to do some additional data processing to use this simple density measure: Cameras do not survey fixed areas, unlike quadrats. The probability of an animal triggering the camera decreases with distance. We therefore have to estimate an effective detection distance (EDD) for the cameras, as is done for unlimited-distance point counts for birds or unlimited distance transect surveys. This effective distance can vary for different species, habitat types and time of year. Cameras take a series of images at discrete intervals, rather than providing a continuous record of how long an animal is in the field-of-view. The discrete intervals need to be converted to a continuous measure to show how long the animal was in the field-of-view, accounting for the possibility that a moderately long interval between images might be from an animal present but not moving much, and therefore not triggering the camera, versus an animal that left the field-of-view and returned. 3.2 Basic Model Here is the basic model (equation) 3.3 Time in Field-of-View 3.3.1 Probabilistic gaps From a pilot study, we determined that if there is a gap of less than 20 seconds between images of the same species at a camera, the animal is almost always still in the view (no evidence of it walking out and returning). Missing the odd time when it leaves the view for less than 20 seconds has little effect on estimates of the total time it is in the field-of-view. At the other end, if there is a gap of >120 seconds between images of the same species, this almost always represented animals leaving and then returning (i.e., the animal is seen walking out of the field-of-view, then walking back in). Gaps of 20-120 seconds are uncertain. These relatively long periods when the animal could be in the field-of-view or not are important when estimating the total duration animals are in the field-of-view, and thus density. Using images from the 2015 ABMI Ecosystem Health project, we checked each 20-120 second gap in series’ of native mammals for evidence of the animal leaving and returning. We supplemented the 2015 data for less common species using data from 2016 and 2017. We looked at several images on either side of gaps of 20-120 seconds. In each sequence, the animal was designated as having left the field-of-view during the 20-120 second gap if there was clear evidence of it walking out of the field-of-view and then returning (or a different individual entering the field-of-view). If the animal stayed in one location within the field-of-view, or sequential images showed the animal in disconnected places (as often happens with smaller animals), the animal was assumed to have stayed. Through this tagging procedure, we obtained the following training data to estimate the probability of an animal leaving during a gaps between 20 and 120 seconds between images. The diff_time variable refers to the number of seconds between images and the left variable refers to whether or not the individual left the camera field-of-view and returned (‘Yes’) or showed in the field-of-view for the duration of the gap (‘No’). head(raw_gap_data, 10) ## # A tibble: 10 × 3 ## species_common_name diff_time left ## <fct> <dbl> <chr> ## 1 Snowshoe Hare 43 Yes ## 2 Canada Lynx 31 No ## 3 Canada Lynx 63 No ## 4 Canada Lynx 22 No ## 5 Canada Lynx 22 Yes ## 6 Moose 29 No ## 7 Moose 21 No ## 8 Moose 36 No ## 9 Snowshoe Hare 23 No ## 10 Canada Lynx 73 Yes Using White-tailed Deer as an example, we can visualize this data in Figure 3.1. In general, observations where the animal stayed in the field of view are more closely clustered around the 20 second mark, and observations where the animal left the field of view are more evenly spread across the range of gap lengths. Figure 3.1: White-tailed Deer. We used this data to develop models of the probability of a species leaving the field-of-view during a 20-120 second gap as a function of the gap duration. Smoothing splines were fit to the probability of leaving as a function of gap length, using a logit-linked binomial model. # Develop model for each species, then make predictions for each second along the 20-120 second span predictions <- raw_gap_data |> mutate(left = ifelse(left == "Yes", 1, 0)) |> group_by(species_common_name) |> nest() |> # Models and predictions mutate(model = map(.x = data, ~ smooth.spline(x = .$diff_time, y = .$left, df = 3)), pred = map(.x = model, ~ predict(., x = 20:120))) |> select(species_common_name, pred) |> unnest_wider(pred) |> unnest(cols = c(x, y)) |> rename(diff_time = x, pred = y) |> ungroup() We can plot the model predictions for each value between the 20-120 second interval as follows (Figure 3.2). In the case of White-tailed Deer, the model predicts that there is ~40% chance that an individual would have left the field of view and returned during a gap of 20 seconds; similarly, the model predicts there is an over 80% chance that a gap of 120 seconds would mean the animal left the field of view and returned. Figure 3.2: Probability of leaving the field-of-view based on gap length between subsequent images for white-tailed deer. The 40% chance the individual left the camera field of view for gaps of 20 seconds implies that they may also have left in slightly shorter gaps, where we assume they all stayed. However, it makes little difference to the total duration to miss a few shorter gaps where the animals left (i.e., to add that extra little bit of time in), especially because we add time to the start and end of a series (next section). At the other end, there was evidence that animals left in about 80% of the 120 second gaps. Missing long periods when an individual is present in the field of view but not moving would lead to underestimates of their densities. For trend estimates and habitat modeling, we would have to assume that the prevalence of those misses does not change over time or by habitat type. Ideally, each gap between images would be checked to see if the animal left or not. However, the process of checking each gap is time-consuming. When we have direct information on gap-leaving, we define a series as any set of images separated by less than 120 seconds, unless the animal was observed to leave the field-of-view (in gaps of 20-120 seconds that were checked) (illustrated in 3.3). If it did leave in a gap, then the series ends at the preceding image, and a new series starts when the animal (or a different individual) returns in the subsequent image. The species is in the field-of-view from the first to the last image in the field-of-view (plus end buffers; described below). When we haven’t examined 20-120 second gaps, a series is all images separated by <120 seconds. However, we then use the above models of gap-leaving probabilities to prorate the 20-120 second gaps for the probability that the species left for a gap of that length. Instead of the full 20-120 second gap length, we only add the duration of the gap x (1 – probability of leaving) to the total series length (illustrated in 3.3, bottom). For example, if there were 4 images separated by 10 seconds, 5 seconds, 60 seconds and 10 seconds, and the model for that species showed a 40% chance that it left in a gap of 60 seconds, then the total time in the field-of-view for that series is 10 + 5 + 60 x (1 - 0.4) + 10 = 61 seconds. (And, if there were an average of 1.25 individuals in those 4 images, the total animal-seconds would be 1.25 x 61 = 76.25 animal-seconds). Finally, we must consider the time before the first image and after the last image of a series, and time to allocate to single-image series’. We estimate that by calculating the average time between images in all series, separately by species (Table 3.1). This is typically 4-7 seconds for larger species and somewhat longer for small species. This time is added to the duration of each series, including to single-image series, which would otherwise have a duration of 0 seconds (striped sections in 3.3. The assumption is that the animal is in the field-of-view for half the average inter-photo time before the first image, and after the last image. (Although animals often appear to be further into the field-of-view when the first image is taken, and nearer the edge when the final one is taken, presumably reflecting a lag-time in the motion-detector – the assumption is that this averages to the average interval within series). When we have 20-120 second gaps that are using the probabilistic gap-leaving model, we add this extra time on the start and end of the whole series in the normal way, and we also added this time multiplied by the probability of leaving for each 20-120 second gap, to account for the cases where the animal would have left the field-of-view in those 20-120 second gaps and hence created another series. Figure 3.3: Illustration of how sequential individual images are converted to series, and how the species’ total time in the field-of-view is calculated for each series, when we have directly examined gaps of 20-120 seconds (top) or not examined them and used probabilistic model instead (bottom). Table 3.1: Average time between sequential images of the same species Species Average time between images (s) Snowshoe Hare 10.97 Fisher 9.81 Marten 8.45 Coyote 7.66 Black Bear 6.25 Gray Wolf 5.77 Pronghorn 5.43 White-tailed Deer 4.96 Canada Lynx 4.85 Mule Deer 4.76 Moose 4.53 Woodland Caribou 4.19 Elk (wapiti) 3.85 3.4 Time of Camera Operation 3.5 Effective Detection Distances One option to define the area surveyed by cameras is to define a fixed maximum distance, using a pole or other marker at 5m or 10m or whatever is appropriate. Animals beyond that distance are not counted. The assumption, which should be tested, is that all target species are detected if they are within that distance. The downside of this simple approach is that it excludes data from animals detected in the potentially long tail of greater distances where they are partially detectable. The ABMI uses all images (unlimited distance), with a procedure to estimate the effective detection distance of cameras. “Effective detection distance” is the fixed distance that would give the same number of detections as observed if all animals up to that distance were perfectly detectable and none were detectable further away. This approach is used for any point counts or transects with unlimited distances or with distance bands beyond the distance of perfect detectability. In the ABMI protocol, we place a prominently coloured pole 5m from the camera. All native mammals are recorded as being closer than the pole or farther than the pole, with additional categories for animals that are uncertain (near 5m but not directly in line with the pole), investigating the pole, or investigating the camera. Simple geometry gives the effective detection distance from the proportion of locations that are <5m away versus >5m (excluding the uncertain and investigating images), which is shown in Equation (3.1). \\[\\begin{equation} EDD~(m) = \\frac{5}{sqrt(1-p_{>5m})} \\tag{3.1} \\end{equation}\\] where p is the proportion of images with the species greater than 5-m away. The area surveyed by the camera then becomes as shown in Equation (3.2). \\[\\begin{equation} Surveyed~Area~(m^2)~=~\\frac{(π~*~EDD^2~*~angle)}{360} \\tag{3.2} \\end{equation}\\] where angle is the angle of the camera’s field-of-view in degrees (40° for the Reconyx PC900 model cameras that the ABMI uses)1. Detection distances are expected to differ for different species, by habitat types, and possibly by season (e.g., on snowpacks versus in summer shrubs). We therefore used the results to develop detection-distance models for eleven species groups and eight broad habitat types: deciduous forest, upland conifer forest, upland grass, shrub, lowland forest, wet grass, water and human footprint. BIC-based model selection examined seven models with those habitat types grouped into broader categories, and seven more that added a factor for season (winter = October 15 – April 14, summer = April 15 – October 14). Below we plot the estimated EDD for different species groups for each of the eight broad habitat types and two seasons. 3.6 Calculating Density Include how to calculate confidence intervals on density of areas. A final consideration is the sampling distribution of density estimates. Because individual cameras sample tiny areas compared to the home ranges of the species they survey, the resulting sampling distribution can be horrendous – the majority of cameras never detect the species at all (density = 0), a few cameras record the species passing by once or twice for brief periods (low densities), and a very few number of cameras record long durations as the animals forage, rest, or play in front of the camera, or revisit a favourite spot repeatedly (very high densities). Longer duration camera deployments can help smooth out some of that extreme variation, but ultimately large numbers of cameras are required for precise estimates. Appropriate questions, rigorous study designs, and modest expectations are required for camera-based studies. 3.7 Assumptions There are a number of strong assumptions involved in using this measure to estimate density of a species. A couple big assumptions are: The cameras are a random or otherwise representative sample of the area. The density estimate applies to the field-of-view of the cameras. To make inferences about a larger region, the cameras need to be surveying a random or representative (e.g., systematic, systematic-random, random stratified) sample of the larger region. In particular, if cameras are intentionally placed in areas where species are more common, such as game trails, then the density estimate only applies to those places, not to a larger region. Animals are not attracted to or repelled by the cameras (or posts used to deploy the cameras, etc). That also means that they do not spend more or less time in front of the camera because of the presence of the camera. The effect of lures or other attractants needs to be explicitly measured and accounted for. There are additional assumptions involved in the procedures to estimate effective detection distance, including an assumption that all animals within a certain distance of the camera are detected, and in converting the discrete images into time in field-of-view. These assumptions are discussed below. Because the world is complicated, assumptions are never met perfectly. The important thing is to consider – and, ideally, design auxiliary tests to measure – is whether the violations are serious enough to impact the answer to whatever question(s) the cameras are being used to answer. In many cases, absolute density estimates may not be accurate, but the results can still serve as a usable index of relative density, if assumptions are violated about equally in whatever units are being compared (habitat types, experimental treatments, years for long-term trend, etc). The PC900 model was discontinued by Reconyx and the ABMI now used the HP2X model. In Section X we discuss calibrations between the two camera models in order to combine data collected from both.↩︎ "],["testing-assumptions.html", "4 Testing Assumptions 4.1 Movement not affected by the camera 4.2 Representative sampling of microhabitats 4.3 Perfect detection near the camera", " 4 Testing Assumptions In this section we describe work that has been done to test the assumptions of the TIFC method. 4.1 Movement not affected by the camera 4.2 Representative sampling of microhabitats 4.3 Perfect detection near the camera "],["protocol-calibrations.html", "5 Protocol Calibrations 5.1 Lure 5.2 Deployment Height 5.3 Camera Model 5.4 Camera Age 5.5 Game Trails", " 5 Protocol Calibrations In this section we describe corrections to common protocol differences. 5.1 Lure For many species, and carnivores in particular, detections at randomly located camera sites can be very low. Lure or other attractants are often used to increase the number of detections at cameras, which can help reduce the high inherent measurement error of cameras. However, lures clearly violate the assumption that animal movement is not influenced by the camera deployment. The ABMI deploys both lured and unlured cameras in a paired design to calibrate lure effects for each species. Each site uses four cameras spaced 600 m apart, two of which were lured. This design allows for a simple paired comparison of species’ occurrences and time in field-of-view. Direct comparisons of lured and unlured deployments are not confounded by geographic location, year, or, with enough samples, microhabitats. We examined results for common species at 558 core sites from both lured and unlured cameras (992 of each, with two pairs at most sites) with the same total operating times. We summarized the ratio of lured:unlured results by species in three measures: (1) Occurrence (presence/absence at the camera over the entire deployment time); (2) Density given Occurrence (density at only cameras where the species was present); and (3) Total Density (the product of occurrence and density given occurrence, that is, our density estimates as described in previous sections). We used bootstrapping to calculate confidence intervals for each mean ratio, with site as the re-sampling unit2. Table ?? displays the results across all three measures for 14 species with sufficient data. Figure (fig:lure-plot) displays the Total Density results for those same 14 species, differentiating between the carnivores and non-carnivores. #uyivxiuhiz table { font-family: system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } #uyivxiuhiz thead, #uyivxiuhiz tbody, #uyivxiuhiz tfoot, #uyivxiuhiz tr, #uyivxiuhiz td, #uyivxiuhiz th { border-style: none; } #uyivxiuhiz p { margin: 0; padding: 0; } #uyivxiuhiz .gt_table { display: table; border-collapse: collapse; line-height: normal; margin-left: auto; margin-right: auto; color: #333333; font-size: 16px; font-weight: normal; font-style: normal; background-color: #FFFFFF; width: auto; border-top-style: solid; border-top-width: 2px; border-top-color: #A8A8A8; border-right-style: none; border-right-width: 2px; border-right-color: #D3D3D3; border-bottom-style: solid; border-bottom-width: 2px; border-bottom-color: #A8A8A8; border-left-style: none; border-left-width: 2px; border-left-color: #D3D3D3; } #uyivxiuhiz .gt_caption { padding-top: 4px; padding-bottom: 4px; } #uyivxiuhiz .gt_title { color: #333333; font-size: 125%; font-weight: initial; padding-top: 4px; padding-bottom: 4px; padding-left: 5px; padding-right: 5px; border-bottom-color: #FFFFFF; border-bottom-width: 0; } #uyivxiuhiz .gt_subtitle { color: #333333; font-size: 85%; font-weight: initial; padding-top: 3px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; border-top-color: #FFFFFF; border-top-width: 0; } #uyivxiuhiz .gt_heading { background-color: #FFFFFF; text-align: center; border-bottom-color: #FFFFFF; border-left-style: none; border-left-width: 1px; border-left-color: #D3D3D3; border-right-style: none; border-right-width: 1px; border-right-color: #D3D3D3; } #uyivxiuhiz .gt_bottom_border { border-bottom-style: solid; border-bottom-width: 2px; border-bottom-color: #D3D3D3; } #uyivxiuhiz .gt_col_headings { border-top-style: solid; border-top-width: 2px; border-top-color: #D3D3D3; border-bottom-style: solid; border-bottom-width: 2px; border-bottom-color: #D3D3D3; border-left-style: none; border-left-width: 1px; border-left-color: #D3D3D3; border-right-style: none; border-right-width: 1px; border-right-color: #D3D3D3; } #uyivxiuhiz .gt_col_heading { color: #333333; background-color: #FFFFFF; font-size: 100%; font-weight: normal; text-transform: inherit; border-left-style: none; border-left-width: 1px; border-left-color: #D3D3D3; border-right-style: none; border-right-width: 1px; border-right-color: #D3D3D3; vertical-align: bottom; padding-top: 5px; padding-bottom: 6px; padding-left: 5px; padding-right: 5px; overflow-x: hidden; } #uyivxiuhiz .gt_column_spanner_outer { color: #333333; background-color: #FFFFFF; font-size: 100%; font-weight: normal; text-transform: inherit; padding-top: 0; padding-bottom: 0; padding-left: 4px; padding-right: 4px; } #uyivxiuhiz .gt_column_spanner_outer:first-child { padding-left: 0; } #uyivxiuhiz .gt_column_spanner_outer:last-child { padding-right: 0; } #uyivxiuhiz .gt_column_spanner { border-bottom-style: solid; border-bottom-width: 2px; border-bottom-color: #D3D3D3; vertical-align: bottom; padding-top: 5px; padding-bottom: 5px; overflow-x: hidden; display: inline-block; width: 100%; } #uyivxiuhiz .gt_spanner_row { border-bottom-style: hidden; } #uyivxiuhiz .gt_group_heading { padding-top: 8px; padding-bottom: 8px; padding-left: 5px; padding-right: 5px; color: #333333; background-color: #FFFFFF; font-size: 100%; font-weight: initial; text-transform: inherit; border-top-style: solid; border-top-width: 2px; border-top-color: #D3D3D3; border-bottom-style: solid; border-bottom-width: 2px; border-bottom-color: #D3D3D3; border-left-style: none; border-left-width: 1px; border-left-color: #D3D3D3; border-right-style: none; border-right-width: 1px; border-right-color: #D3D3D3; vertical-align: middle; text-align: left; } #uyivxiuhiz .gt_empty_group_heading { padding: 0.5px; color: #333333; background-color: #FFFFFF; font-size: 100%; font-weight: initial; border-top-style: solid; border-top-width: 2px; border-top-color: #D3D3D3; border-bottom-style: solid; border-bottom-width: 2px; border-bottom-color: #D3D3D3; vertical-align: middle; } #uyivxiuhiz .gt_from_md > :first-child { margin-top: 0; } #uyivxiuhiz .gt_from_md > :last-child { margin-bottom: 0; } #uyivxiuhiz .gt_row { padding-top: 8px; padding-bottom: 8px; padding-left: 5px; padding-right: 5px; margin: 10px; border-top-style: solid; border-top-width: 1px; border-top-color: #D3D3D3; border-left-style: none; border-left-width: 1px; border-left-color: #D3D3D3; border-right-style: none; border-right-width: 1px; border-right-color: #D3D3D3; vertical-align: middle; overflow-x: hidden; } #uyivxiuhiz .gt_stub { color: #333333; background-color: #FFFFFF; font-size: 100%; font-weight: initial; text-transform: inherit; border-right-style: solid; border-right-width: 2px; border-right-color: #D3D3D3; padding-left: 5px; padding-right: 5px; } #uyivxiuhiz .gt_stub_row_group { color: #333333; background-color: #FFFFFF; font-size: 100%; font-weight: initial; text-transform: inherit; border-right-style: solid; border-right-width: 2px; border-right-color: #D3D3D3; padding-left: 5px; padding-right: 5px; vertical-align: top; } #uyivxiuhiz .gt_row_group_first td { border-top-width: 2px; } #uyivxiuhiz .gt_row_group_first th { border-top-width: 2px; } #uyivxiuhiz .gt_summary_row { color: #333333; background-color: #FFFFFF; text-transform: inherit; padding-top: 8px; padding-bottom: 8px; padding-left: 5px; padding-right: 5px; } #uyivxiuhiz .gt_first_summary_row { border-top-style: solid; border-top-color: #D3D3D3; } #uyivxiuhiz .gt_first_summary_row.thick { border-top-width: 2px; } #uyivxiuhiz .gt_last_summary_row { padding-top: 8px; padding-bottom: 8px; padding-left: 5px; padding-right: 5px; border-bottom-style: solid; border-bottom-width: 2px; border-bottom-color: #D3D3D3; } #uyivxiuhiz .gt_grand_summary_row { color: #333333; background-color: #FFFFFF; text-transform: inherit; padding-top: 8px; padding-bottom: 8px; padding-left: 5px; padding-right: 5px; } #uyivxiuhiz .gt_first_grand_summary_row { padding-top: 8px; padding-bottom: 8px; padding-left: 5px; padding-right: 5px; border-top-style: double; border-top-width: 6px; border-top-color: #D3D3D3; } #uyivxiuhiz .gt_last_grand_summary_row_top { padding-top: 8px; padding-bottom: 8px; padding-left: 5px; padding-right: 5px; border-bottom-style: double; border-bottom-width: 6px; border-bottom-color: #D3D3D3; } #uyivxiuhiz .gt_striped { background-color: rgba(128, 128, 128, 0.05); } #uyivxiuhiz .gt_table_body { border-top-style: solid; border-top-width: 2px; border-top-color: #D3D3D3; border-bottom-style: solid; border-bottom-width: 2px; border-bottom-color: #D3D3D3; } #uyivxiuhiz .gt_footnotes { color: #333333; background-color: #FFFFFF; border-bottom-style: none; border-bottom-width: 2px; border-bottom-color: #D3D3D3; border-left-style: none; border-left-width: 2px; border-left-color: #D3D3D3; border-right-style: none; border-right-width: 2px; border-right-color: #D3D3D3; } #uyivxiuhiz .gt_footnote { margin: 0px; font-size: 90%; padding-top: 4px; padding-bottom: 4px; padding-left: 5px; padding-right: 5px; } #uyivxiuhiz .gt_sourcenotes { color: #333333; background-color: #FFFFFF; border-bottom-style: none; border-bottom-width: 2px; border-bottom-color: #D3D3D3; border-left-style: none; border-left-width: 2px; border-left-color: #D3D3D3; border-right-style: none; border-right-width: 2px; border-right-color: #D3D3D3; } #uyivxiuhiz .gt_sourcenote { font-size: 90%; padding-top: 4px; padding-bottom: 4px; padding-left: 5px; padding-right: 5px; } #uyivxiuhiz .gt_left { text-align: left; } #uyivxiuhiz .gt_center { text-align: center; } #uyivxiuhiz .gt_right { text-align: right; font-variant-numeric: tabular-nums; } #uyivxiuhiz .gt_font_normal { font-weight: normal; } #uyivxiuhiz .gt_font_bold { font-weight: bold; } #uyivxiuhiz .gt_font_italic { font-style: italic; } #uyivxiuhiz .gt_super { font-size: 65%; } #uyivxiuhiz .gt_footnote_marks { font-size: 75%; vertical-align: 0.4em; position: initial; } #uyivxiuhiz .gt_asterisk { font-size: 100%; vertical-align: 0; } #uyivxiuhiz .gt_indent_1 { text-indent: 5px; } #uyivxiuhiz .gt_indent_2 { text-indent: 10px; } #uyivxiuhiz .gt_indent_3 { text-indent: 15px; } #uyivxiuhiz .gt_indent_4 { text-indent: 20px; } #uyivxiuhiz .gt_indent_5 { text-indent: 25px; } Species Occurrence Density|Occurrence Total Density White-tailed Deer 1.03 0.93 0.96 Moose 1.08 1.07 1.15 Elk 1.13 1.30 1.46 Mule Deer 1.02 1.74 1.77 Canada Lynx 1.47 1.39 2.05 Woodland Caribou 1.27 2.03 2.59 Black Bear 1.35 2.49 3.36 Marten 2.51 1.49 3.73 Cougar 2.35 1.65 3.88 Grizzly Bear 1.63 2.46 4.01 Coyote 1.40 2.92 4.08 Gray Wolf 1.80 3.02 5.43 Red Fox 2.12 3.36 7.13 Fisher 4.55 2.38 10.83 Figure 5.1: Lure effect on Total Density The ratio of the mean lured:unlured values for moose occurrence was 1.07 (90% CI: 0.99–1.16), 1.17 (0.92–1.5) for density given occurrence, and 1.26 (0.98–1.62) for total density. We found more substantial positive effects of lure for other species, particularly fisher (Pekania pennanti), red fox (Vulpes vulpes), and gray wolf (Canis lupus) (Appendix S5). For these carnivore species, a larger proportion of the effect on total density came from the density given occurrence component, indicating that lure was primarily effective for increasing the time animals spend in the camera field-of-view. Occurrence increases due to lure tended to be smaller, which suggests that animals are not being drawn in from large distances. We use the total density ratios to correct the estimates of densities at lured cameras to an unlured density equivalent. 5.2 Deployment Height 5.3 Camera Model 5.4 Camera Age 5.5 Game Trails Calculating Lure Effects - This script demonstrates how lure effects are calculated using the paired ABMI camera design.↩︎ "],["sharing-your-book.html", "6 Sharing your book 6.1 Publishing 6.2 404 pages 6.3 Metadata for sharing 6.4 Footnotes 6.5 Citations", " 6 Sharing your book 6.1 Publishing HTML books can be published online, see: https://bookdown.org/yihui/bookdown/publishing.html 6.2 404 pages By default, users will be directed to a 404 page if they try to access a webpage that cannot be found. If you’d like to customize your 404 page instead of using the default, you may add either a _404.Rmd or _404.md file to your project root and use code and/or Markdown syntax. 6.3 Metadata for sharing Bookdown HTML books will provide HTML metadata for social sharing on platforms like Twitter, Facebook, and LinkedIn, using information you provide in the index.Rmd YAML. To setup, set the url for your book and the path to your cover-image file. Your book’s title and description are also used. This gitbook uses the same social sharing data across all chapters in your book- all links shared will look the same. Specify your book’s source repository on GitHub using the edit key under the configuration options in the _output.yml file, which allows users to suggest an edit by linking to a chapter’s source file. Read more about the features of this output format here: https://pkgs.rstudio.com/bookdown/reference/gitbook.html Or use: ?bookdown::gitbook 6.4 Footnotes Footnotes are put inside the square brackets after a caret ^[]. Like this one 3. 6.5 Citations Reference items in your bibliography file(s) using @key. For example, we are using the bookdown package (Xie 2022) (check out the last code chunk in index.Rmd to see how this citation key was added) in this sample book, which was built on top of R Markdown and knitr (Xie 2015) (this citation was added manually in an external file book.bib). Note that the .bib files need to be listed in the index.Rmd with the YAML bibliography key. The RStudio Visual Markdown Editor can also make it easier to insert citations: https://rstudio.github.io/visual-markdown-editing/#/citations References "],["references.html", "References", " References "],["404.html", "Page not found", " Page not found The page you requested cannot be found (perhaps it was moved or renamed). You may want to try searching to find the page's new location, or use the table of contents to find the page you are looking for. "]] diff --git a/docs/sharing-your-book.html b/docs/sharing-your-book.html index 92f9f9f..301419d 100644 --- a/docs/sharing-your-book.html +++ b/docs/sharing-your-book.html @@ -23,7 +23,7 @@ - + @@ -58,16 +58,16 @@ - + - + - + @@ -284,7 +284,7 @@

6.3 Metadata for sharing

6.4 Footnotes

-

Footnotes are put inside the square brackets after a caret ^[]. Like this one 2.

+

Footnotes are put inside the square brackets after a caret ^[]. Like this one 3.

6.5 Citations

@@ -306,8 +306,8 @@

References

-
    -
  1. This is a footnote.↩︎

  2. +
      +
    1. This is a footnote.↩︎

diff --git a/docs/testing-assumptions.html b/docs/testing-assumptions.html index 13ecd92..fa63e2b 100644 --- a/docs/testing-assumptions.html +++ b/docs/testing-assumptions.html @@ -23,7 +23,7 @@ - + @@ -58,16 +58,16 @@ - + - + - + diff --git a/src/global/process-camera-locations.R b/src/global/Approximate Camera Locations.R similarity index 100% rename from src/global/process-camera-locations.R rename to src/global/Approximate Camera Locations.R diff --git a/src/global/Calculate Lure Effects.R b/src/global/Calculate Lure Effects.R index d4b0b27..254c03a 100644 --- a/src/global/Calculate Lure Effects.R +++ b/src/global/Calculate Lure Effects.R @@ -181,10 +181,10 @@ dimnames(ta.bs.sum)[[1]] <- SpTable dimnames(ta.bs.sum)[[2]] <- c("TA", "TA.lci", "TA.uci") ta <- as.data.frame(ta.bs.sum) -check <- bind_cols(pa, agp, ta) %>% tibble::rownames_to_column(var = "common_name") +full_results <- bind_cols(pa, agp, ta) %>% tibble::rownames_to_column(var = "species_common_name") # Write results -readr::write_csv(check, paste0(root, "data/processed/lure/lure-effect-summary_", Sys.Date(), ".csv")) +readr::write_csv(full_results, paste0(g_drive, "data/processed/lure/lure-effect-summary_", Sys.Date(), ".csv")) diff --git a/src/global/download-nice-images.R b/src/global/Download Nice Images.R similarity index 100% rename from src/global/download-nice-images.R rename to src/global/Download Nice Images.R diff --git a/src/global/get-cam-species-name-strings.R b/src/global/Get Species Name Strings from WT.R similarity index 100% rename from src/global/get-cam-species-name-strings.R rename to src/global/Get Species Name Strings from WT.R diff --git a/src/global/new-effective-detection-distance-modeling.R b/src/global/Model Effective Detection Distance (NEW).R similarity index 100% rename from src/global/new-effective-detection-distance-modeling.R rename to src/global/Model Effective Detection Distance (NEW).R diff --git a/src/global/model-effective-detection-distance.R b/src/global/Model Effective Detection Distance.R similarity index 100% rename from src/global/model-effective-detection-distance.R rename to src/global/Model Effective Detection Distance.R diff --git a/src/global/probabilistic-gaps.R b/src/global/Model Probabilistic Gaps.R similarity index 100% rename from src/global/probabilistic-gaps.R rename to src/global/Model Probabilistic Gaps.R diff --git a/src/global/prepare-veghf.R b/src/global/Prepare VegHF for Modeling.R similarity index 100% rename from src/global/prepare-veghf.R rename to src/global/Prepare VegHF for Modeling.R diff --git a/src/projects/Camera Heights/01_estimate-tifc.R b/src/projects/Camera Heights/01 Estimate TIFC.R similarity index 99% rename from src/projects/Camera Heights/01_estimate-tifc.R rename to src/projects/Camera Heights/01 Estimate TIFC.R index 2b7fa6d..9e9bd35 100644 --- a/src/projects/Camera Heights/01_estimate-tifc.R +++ b/src/projects/Camera Heights/01 Estimate TIFC.R @@ -21,7 +21,7 @@ library(tidyverse) # Native species tags in WildTrax load(paste0(g_drive, "data/lookup/wt_cam_sp_str.RData")) -# Probabilistic gaps probability of leaving predictions +# Probabilistic gaps (i.e., probability of leaving predictions) df_leave_prob_pred <- read_csv(paste0(g_drive, "data/processed/probabilistic-gaps/gap-leave-prob_predictions_2021-10-05.csv")) # Gap groups df_gap_groups <- read_csv(paste0(g_drive, "data/lookup/species-gap-groups.csv")) @@ -115,7 +115,6 @@ data_all <- data |> # - 724-4-SE-M -> Actual start date is March 2, 2023 # - 761-3-NE-M -> Actual start date is March 9, 2023 - # Camera pairs to remove from analysis: # - 1-1A2-CA2 -> 1m camera didn't take reliable images (cute baby lynx photos though) # - 1-1A2-CA3 -> Neither camera took reliable images @@ -129,7 +128,7 @@ data_subset <- data_all |> # Remove deployment pairs that did not collect reliable data filter(!location %in% remove) |> mutate(image_date_time = ymd_hms(image_date_time)) |> - # Truncate dates so that only data operating during a common period is used (only 3/10 locations impacted) + # Truncate dates so that only data operating during a common period is used filter(!(image_date_time > as.Date("2021-08-07 00:00:00") & location == "793-NE"), !(image_date_time > as.Date("2022-05-19 00:00:00") & location == "793-SW"), !(image_date_time > as.Date("2022-07-02 00:00:00") & location == "792-SW"), diff --git a/src/projects/Camera Heights/02_compare-tifc-via-bootstrap.R b/src/projects/Camera Heights/02 Compare TIFC via Bootstrap.R similarity index 100% rename from src/projects/Camera Heights/02_compare-tifc-via-bootstrap.R rename to src/projects/Camera Heights/02 Compare TIFC via Bootstrap.R diff --git a/src/projects/Camera Heights/03_evaluate-independent-detections.R b/src/projects/Camera Heights/03 Evaluate Independent Detections.R similarity index 100% rename from src/projects/Camera Heights/03_evaluate-independent-detections.R rename to src/projects/Camera Heights/03 Evaluate Independent Detections.R diff --git a/src/projects/Camera Heights/04_create-figures.R b/src/projects/Camera Heights/04 Create Figures.R similarity index 100% rename from src/projects/Camera Heights/04_create-figures.R rename to src/projects/Camera Heights/04 Create Figures.R diff --git a/src/projects/OSM BADR/Precision.R b/src/projects/OSM BADR/Precision.R new file mode 100644 index 0000000..93a6765 --- /dev/null +++ b/src/projects/OSM BADR/Precision.R @@ -0,0 +1,179 @@ +# R Precison analysis for OSM BADR estimates + +g_drive <- "G:/Shared drives/ABMI Camera Mammals/" + +dplot<-function(x=x,y=y,cex=1.5,pch=5,...) { # Plot with my preferred defaults + # Plot with my default preferences + plot(x,y,bty="n",tck=0.01,cex.axis=1.3,cex.lab=1.6,cex=cex,pch=pch,...) + box(bty="l",lwd=2) +} + +load(paste0(g_drive, "Results/OSM BADR/R objects OSM camera summaries Sept 2022.RData")) +# Saved in analysis script. +# x.hf for HF JEMs, x.dist for distance-buffer JEMS, [also JEM1 for overall (stratified) JEM estimates but that isn't used here] +# x.hf has dimensions [species, JEM-HF treatment, veg stratum, {n, mean, LCI, UCI}]. Treatments include various "NA" versions, which are valid in the non-HF JEMs (ref, pre-insitu) but are unneeded wetland treatments in other JEMs. veg stratum includes unneeded "wetland" +# x.dist has dimensions [species, JEM-distance treatment, veg stratum, {n, mean, LCI, UCI}]. + +# New objects +load(paste0(g_drive, "Results/OSM BADR/R objects OSM camera summaries March 2024.RData")) + +# Compile CI half-widths, logSE, and n for each HF-veg for all species +SpTable<-dimnames(x.hf2)[[1]] +vegHF<-paste(rep(dimnames(x.hf2)[[2]][c(1,2,3,4,5,6,8)],2), + rep(dimnames(x.hf2)[[3]][1:2],each=7),sep="_") + +#SpTable<-dimnames(x.hf)[[1]] +#vegHF<-paste(rep(dimnames(x.hf)[[2]][c(2,3,5,6,8,9,11)],2), rep(dimnames(x.hf)[[3]][1:2],each=7),sep="_") + + +# (Awkwardly) pulling out just the main JEM-HF treatments in the two main veg strata (omitting wetlands and associated HF=NA treatments). +# Change if treatment results summaries change +#i2<-rep(c(2,3,5,6,8,9,11),2) # Indices for vegHF on second dimension of arrays # Change if treatment results summaries change +i2 <- rep(c(1, 2, 3, 4, 5, 6, 8), 2) +i3<-rep(1:2,each=7) # Indices for vegHF on third dimension of arrays # Change if treatment results summaries change +CI.HF<-mean.HF<-logSE.HF<-array(NA,c(length(SpTable),length(vegHF))) # CI half-width, mean, logSE +dimnames(CI.HF)<-dimnames(mean.HF)<-dimnames(logSE.HF)<-list(SpTable,vegHF) +# Number of *samples* per vegHF. +# Note definition of "sample" used in original analysis (can be >1 camera, incl. for ABMI sites and duplicated cameras at some BADR points). +# Note: The "diag" here and below are because R didn't subset the array the way I wanted, and I gave up trying to make it behave +n.HF<-diag(x.hf2[1,i2,i3,1]) +names(n.HF)<-vegHF +for (sp in 1:length(SpTable)) { + CI.HF[sp,]<-(diag(x.hf2[sp,i2,i3,4])-diag(x.hf2[sp,i2,i3,3]))/2 # CI half-width + logSE.HF[sp,]<-(log(diag(x.hf2[sp,i2,i3,4]))-log(diag(x.hf2[sp,i2,i3,2])) + log(diag(x.hf2[sp,i2,i3,2]))-log(diag(x.hf2[sp,i2,i3,3])) )/1.65/2 # logSE, taken as the simple average of (logUCI-logmean)/1.65 and (logmean-logLCI)/1.65 + mean.HF[sp,]<-diag(x.hf2[sp,i2,i3,2]) # Mean +} + +# And for each dist-veg +vegdist<-paste(rep(dimnames(x.dist2)[[2]],2), rep(dimnames(x.dist2)[[3]][1:2],each=dim(x.dist2)[2]),sep="_") # (Awkwardly) pulling out just the main JEM-dist treatments in the two main veg strata (omitting wetlands and associated HF=NA treatments). Change if treatment results summaries change +i2<-rep(1:dim(x.dist2)[2],2) # Indices for vegdist on second dimension of arrays # Change if treatment results summaries change +i3<-rep(1:2,each=dim(x.dist2)[2]) # Indices for vegdist on third dimension of arrays # Change if treatment results summaries change +CI.dist<-mean.dist<-logSE.dist<-array(NA,c(length(SpTable),length(vegdist))) # CI half-width, mean +dimnames(CI.dist)<-dimnames(mean.dist)<-dimnames(logSE.dist)<-list(SpTable,vegdist) +n.dist<-diag(x.dist2[1,i2,i3,1]) # Number of *samples* per vegdist. Note definition of "sample" used in original analysis (can be >1 camera, incl. for ABMI sites and duplicated cameras at some BADR points) +names(n.dist)<-vegdist +for (sp in 1:length(SpTable)) { + CI.dist[sp,]<-(diag(x.dist2[sp,i2,i3,4])-diag(x.dist2[sp,i2,i3,3]))/2 # CI half-width + logSE.dist[sp,]<-(log(diag(x.dist2[sp,i2,i3,4]))-log(diag(x.dist2[sp,i2,i3,2])) + log(diag(x.dist2[sp,i2,i3,2]))-log(diag(x.dist2[sp,i2,i3,3])) )/1.65/2 # logSE, taken as the simple average of (logUCI-logmean)/1.65 and (logmean-logLCI)/1.65 + mean.dist[sp,]<-diag(x.dist2[sp,i2,i3,2]) # Mean +} + +# Combine +CI.all<-cbind(CI.HF,CI.dist) +logSE.all<-cbind(logSE.HF,logSE.dist) +mean.all<-cbind(mean.HF,mean.dist) +n.all<-c(n.HF,n.dist) + +# VERSION USING logSE plot +m<-list(NULL) # To save models +n.prec<-array(NA,c(length(SpTable),2,6)) # Sites needed for each species, with 1 or 2+ cameras, for CI half width/mean of {1.5,1.25,1,0.75,0.5} +dimnames(n.prec)<-list(SpTable,c("1cam","2cam"),c("CI1.5","CI1.25","CI1","CI0.75","CI0.5", "CI0.25")) +for (sp in 1:length(SpTable)) { + i<-which(!is.na(logSE.all[sp,]) & n.all>1) # Only plot and summarize non-0 treatments with >1 sample + y<-logSE.all[sp,i] # Summarizing logSE (for count'ish data) + col1<-ifelse(regexpr("decid",names(CI.all[sp,i]))>0,"#FF880077","#33AA3377") + pch1<-ifelse(regexpr("buffer",names(CI.all[sp,i]))>0,15,18) + cex1<-ifelse(pch1==15,2,2.5) # Squares are too big... + ncams<-ifelse(regexpr("buffer",names(CI.all[sp,i]))<=0 | regexpr("road buffer 300_decid",names(CI.all[sp,i]))>0,"2cam","1cam") # Number of cameras per site, roughly - 1 for buffer treatments, except 300m from roads in decid where there are also ABMI sites; 2+ otherwise + fname<-paste(paste0(g_drive, "Results/OSM BADR/Figures/Precision/logSE vs n for ",SpTable[sp],".png",sep="")) + png(file=fname,width=500,height=500) + dplot(log(n.all[i]),y,pch=pch1,cex=cex1,col=col1,xlab="Sample size",ylab="logSE",xaxt="n",yaxt="n",xlim=log(c(2,108))) + axis(side=1,at=log(c(1,2,3,5,10,20,30,50,100)),c(1,2,3,5,10,20,30,50,100),tck=1,cex.axis=1.3,col="grey85") + axis(side=2,at=(seq(0.0,2,0.2)),seq(0,2,0.2),tck=1,cex.axis=1.3,col="grey85") + axis(side=1,at=log(c(1,2,3,5,10,20,30,50,100)),c(1,2,3,5,10,20,30,50,100),tck=0.015,cex.axis=1.3) + axis(side=2,at=(seq(0.0,2,0.2)),seq(0,2,0.2),tck=0.015,cex.axis=1.3) + points(log(n.all[i]),y,pch=pch1,cex=cex1,col=col1) + lognall<-log(n.all[i]) + m[[sp]]<-lm(log(y)~lognall+ncams) + p1<-exp(predict(m[[sp]],newdata=data.frame(lognall=log(2:200),ncams="1cam"))) + lines(log(2:200),p1,lwd=2,col="red4") + p2<-exp(predict(m[[sp]],newdata=data.frame(lognall=log(2:200),ncams="2cam"))) + lines(log(2:200),p2,lwd=2,col="blue3") + mtext(side=3,at=min(log(n.all[i])),adj=0,SpTable[sp],cex=1.4) + graphics.off() + # Save number of sites needed to reach different precision levels (with 1 vs 2+ cameras per site). These are pulled out using interpolation from predictions of the empirical regression. + p1<-predict(m[[sp]],newdata=data.frame(lognall=log(2:200),ncams="1cam")) + p2<-predict(m[[sp]],newdata=data.frame(lognall=log(2:200),ncams="2cam")) + n.prec[sp,1,]<-as.numeric(lapply(c(1.5,1.25,1,0.75,0.5, 0.25),function(x) which.min(abs(log(x)-p1)))) + 2 # Value of n where model-predicted log(CI half-width/mean) is closect to target log(CI half-width/mean) - for 1 camera/site. +1 of the "+2" is because the predicitons start at n=2, and the other +1 is to round up to the higher whole sample size + n.prec[sp,2,]<-as.numeric(lapply(c(1.5,1.25,1,0.75,0.5, 0.25),function(x) which.min(abs(log(x)-p2)))) + 2 # Value of n where model-predicted log(CI half-width/mean) is closect to target log(CI half-width/mean) - for 2+ cameras per site +} # Next sp +# Save number of sites needed to reach different precision levels +q<-data.frame(n.prec[,1,]) +colnames(q)<-paste(colnames(q),"1cam",sep="_") +q1<-data.frame(n.prec[,2,]) +colnames(q1)<-paste(colnames(q1),"2cam",sep="_") +q<-cbind(q,q1) +write.table(q,file=paste0(g_drive, "Results/OSM BADR/Sites needed to reach precision targets OSM camera mammals.csv"),sep=",",col.names=NA) + +# Graphs of 90% CI width around a mean of 1 at different n, 1 and 2+ cameras/site +n.list<-c(3,5,7,10,20,30,50,100) +y.ticks<-c(0.2,0.33,0.5,0.66,0.8,1,1.25,1.5,2,3,5) # Version for log y-axis +y.ticks<-c(0.2,0.5,0.8,1,1.2,1.5,2,3,4,5) # Version for ordinal y-axis +for (sp in 1:length(SpTable)) { + p1<-exp(predict(m[[sp]],newdata=data.frame(lognall=log(n.list),ncams="1cam"))) + p2<-exp(predict(m[[sp]],newdata=data.frame(lognall=log(n.list),ncams="2cam"))) + lci1<-exp(-p1*1.65) # Assuming mean of 1 (0 on log scale) + uci1<-exp(p1*1.65) # Assuming mean of 1 (0 on log scale) + lci2<-exp(-p2*1.65) # Assuming mean of 1 (0 on log scale) + uci2<-exp(p2*1.65) # Assuming mean of 1 (0 on log scale) + fname<-paste(paste0(g_drive, "Results/OSM BADR/Figures/Precision/CI examples vs n ",SpTable[sp],".png",sep="")) + png(file=fname,height=600,width=1000) + par(mfrow=c(1,2)) + # 1 camera/site + dplot(log(n.list),rep(1,8),pch=18,cex=2,xaxt="n",yaxt="n",xlab="Sample size",ylab="90% CI on mean=1",ylim=(c(0.2,5))) + abline(0,0) + axis(side=1,at=log(n.list),n.list,tck=0.01,cex.axis=1.3) + axis(side=2,at=(y.ticks),rep("",length(y.ticks)),tck=1,col="grey85",cex.axis=1.3) + axis(side=2,at=(y.ticks),y.ticks,tck=0.01,cex.axis=1.3,las=2) + points(log(n.list),rep(1,8),pch=18,cex=2) + for (i in 1:8) { + lines(rep(log(n.list)[i],2),(c(lci1[i],uci1[i])),lwd=2) + } + mtext(side=3,at=log(3),adj=0,paste(SpTable[sp],": 1 camera/site",sep=""),cex=1.5) + # 2+ cameras/site + dplot(log(n.list),rep(1,8),pch=18,cex=2,xaxt="n",yaxt="n",xlab="Sample size",ylab="90% CI on mean=1",ylim=(c(0.2,5))) + abline(0,0) + axis(side=1,at=log(n.list),n.list,tck=0.01,cex.axis=1.3) + axis(side=2,at=(y.ticks),rep("",length(y.ticks)),tck=1,col="grey85",cex.axis=1.3) + axis(side=2,at=(y.ticks),y.ticks,tck=0.01,cex.axis=1.3,las=2) + points(log(n.list),rep(1,8),pch=18,cex=2) + for (i in 1:8) { + lines(rep(log(n.list)[i],2),(c(lci2[i],uci2[i])),lwd=2) + } + mtext(side=3,at=log(3),adj=0,paste(SpTable[sp],": 2+ cameras/site",sep=""),cex=1.5) + graphics.off() +} # Next sp + +# Graphs of the expected SE for a difference between two treatments as a function of the sample size of each +for (sp in 1:length(SpTable)) { + p1<-exp(predict(m[[sp]],newdata=data.frame(lognall=log(2:100),ncams="1cam"))) + p2<-exp(predict(m[[sp]],newdata=data.frame(lognall=log(2:100),ncams="2cam"))) + p1.diff<-array(NA,c(length(p1),length(p1))) + for (i in 1:length(p1)) p1.diff[i,]<-sqrt(p1[i]^2+p1^2) # logSE of difference, following rule of summing variance + p1.diff.ratio<-exp(p1.diff*1.65) + p2.diff<-array(NA,c(length(p2),length(p2))) + for (i in 1:length(p2)) p2.diff[i,]<-sqrt(p2[i]^2+p2^2) # logSE of difference, following rule of summing variance + p2.diff.ratio<-exp(p2.diff*1.65) + fname<-paste(paste0(g_drive, "Results/OSM BADR/Figures/Precision/Significantly detectable ratio versus n ",SpTable[sp],".png",sep="")) + png(file=fname,height=500,width=900) + par(mfrow=c(1,2)) + # 1 camera/site + contour(log(2:100),log(2:100),p1.diff.ratio,xaxt="n",yaxt="n",labcex=1.2,xlab="Sample size 1",ylab="Sample size 2",cex.lab=1.4,levels=c(40,30,20,10,8,6,5,4,3,2.5,2,1.5,1)) + axis(side=1,at=log(c(2,3,5,10,20,30,50,100)),c(2,3,5,10,20,30,50,100),tck=1,col="grey90",cex.axis=1.3) + axis(side=1,at=log(c(2,3,5,10,20,30,50,100)),c(2,3,5,10,20,30,50,100),tck=0.01,cex.axis=1.3) + axis(side=2,at=log(c(2,3,5,10,20,30,50,100)),c(2,3,5,10,20,30,50,100),tck=1,col="grey90",cex.axis=1.3) + axis(side=2,at=log(c(2,3,5,10,20,30,50,100)),c(2,3,5,10,20,30,50,100),tck=0.01,cex.axis=1.3) + mtext(side=3,at=log(2),adj=0,paste(SpTable[sp],": 1 camera/site",sep=""),cex=1.5) + # 2+ cameras/site + contour(log(2:100),log(2:100),p2.diff.ratio,xaxt="n",yaxt="n",labcex=1.2,xlab="Sample size 1",ylab="Sample size 2",cex.lab=1.4,levels=c(40,30,20,10,8,6,5,4,3,2.5,2,1.5,1)) + axis(side=1,at=log(c(2,3,5,10,20,30,50,100)),c(2,3,5,10,20,30,50,100),tck=1,col="grey90",cex.axis=1.3) + axis(side=1,at=log(c(2,3,5,10,20,30,50,100)),c(2,3,5,10,20,30,50,100),tck=0.01,cex.axis=1.3) + axis(side=2,at=log(c(2,3,5,10,20,30,50,100)),c(2,3,5,10,20,30,50,100),tck=1,col="grey90",cex.axis=1.3) + axis(side=2,at=log(c(2,3,5,10,20,30,50,100)),c(2,3,5,10,20,30,50,100),tck=0.01,cex.axis=1.3) + mtext(side=3,at=log(2),adj=0,paste(SpTable[sp],": 2+ cameras/site",sep=""),cex=1.5) + graphics.off() +} # Next sp + + + +