{{ title }}

Camera-trap survey summary{% if period %} · {{ period }}{% endif %} · generated {{ generated }}

{{ cameras }}camera sites
{{ camera_days }}camera-days
{{ images }}images
{{ events }}independent events
{{ species }}species

Cameras

{% if issues %}

{{ issues|length }} of {{ deployments }} deployments had problems that may affect the results:

{% else %}

✓ No camera problems found in {{ deployments }} deployments.

{% endif %}

Each tick is an image; grey bars are deployment periods; shaded areas are long gaps without images.

{{ timeline }}

Species

{% if species_rows %}
{% if ai_errors %}{% endif %} {% for row in species_rows %} {% if ai_errors %}{% endif %} {% endfor %}
SpeciesEventsRAISites Naive occ.OccupancySites in doubtBusiest
{{ row.name }}{{ row.events }} {{ row.rai }}{{ row.sites }}{{ row.naive }} {{ row.modelled }}{% if row.interval %}{{ row.interval }}{% endif %}{% if row.warning %}⚠ unreliable{% endif %}{{ row.doubt }}{% if row.doubtful %}⚠ review{% endif %}{{ row.peak }}

Events are independent visits (a new event after 30 minutes without images at a camera). RAI is events per 100 camera-days. Sites: camera sites where the species was recorded, of all sites. Naive occupancy is that share; occupancy corrects for the species being missed where it is present, with its 95% interval below, using {{ occasion_days }}-day sampling occasions, for species recorded at three or more sites. ⚠ marks estimates that are unreliable because the species was recorded too rarely (hover for the reason). Busiest is the time of day with most activity, for species with {{ min_activity_events }} or more events.{% if ai_errors %} Sites in doubt: the expected number of sites with a false record / where the species was missed because of AI mistakes, with the AI's confidence calibrated on {{ labels.reviewed }} reviewed events; ⚠ marks species whose results may change with more review.{% endif %}

{% if left_out %}

Events identified only above species level are not in the table: {% for name, count in left_out.items() %}{{ name }} ({{ count }}){% if not loop.last %}, {% endif %}{% endfor %}.

{% endif %} {% else %}

No animal events identified to species.

{% endif %}

Daily activity

{% if activity_chart %}
{{ activity_chart }}
{% if overlaps %}

Overlap between species' daily activity (0 = never active at the same time, 1 = identical):

{% for pair in overlaps %} {% endfor %}
SpeciesOverlap (95% interval)
{{ pair.first }} and {{ pair.second }} {{ "%.2f"|format(pair.overlap) }} ({{ "%.2f"|format(pair.overlapLower) }}–{{ "%.2f"|format(pair.overlapUpper) }})
{% endif %} {% else %}

No species has {{ min_activity_events }} or more events, the fewest for an activity curve.

{% endif %}

Species richness

{% if richness %}

The survey recorded {{ richness.observedSpecies }} species in {{ richness.cameraDays }} camera-days. The Chao2 estimate of the species present is {{ richness.estimatedSpecies }} (95% interval {{ richness.estimatedLower }}–{{ richness.estimatedUpper }}), so the survey found about {{ "%.0f"|format(richness.completeness * 100) }}% of them. {{ richness.uniques }} species were recorded on only one camera-day.{% if not labels.reviewed %} Some of those may be AI mistakes rather than rare species; reviewing them makes this estimate more reliable.{% endif %}

{{ richness_chart }}
{% else %}

No species recorded.

{% endif %}

How the species were identified

Animals were found and identified by {{ labels.classifiers|join(", ") if labels.classifiers else "AI" }}. {% if labels.reviewed %}A person reviewed {{ labels.reviewed }} of {{ labels.events }} events ({{ "%.0f"|format(100 * labels.reviewed / labels.events) }}%), starting with those the AI was least sure about; their decisions replace the AI's.{% else %}No events were reviewed by a person, so all labels are the AI's.{% endif %}

{% if labels.accuracy %}

Compared with reference labels for {{ labels.accuracy.events }} events, the labels were correct for {{ labels.accuracy.correct }}, correct only above species level for {{ labels.accuracy.higher }},{% if labels.accuracy.finer %} more specific than the reference (which could not confirm the species) for {{ labels.accuracy.finer }},{% endif %} and wrong for {{ labels.accuracy.wrong }}.

{% endif %}

Methods and limitations