Skip to contents

Introduction

camtrapReport is designed to help users move from raw camera-trap records to clear, reproducible ecological outputs. Rather than treating data cleaning, summarisation, analysis, visualisation, and reporting as separate tasks, the package brings them together in a single workflow. This makes it easier to produce consistent outputs across study sites and survey periods while reducing the manual effort required to prepare reports.

This vignette provides a conceptual overview of how the package is organised. It explains the main parts of the workflow, the role of the central camReport object, and how data checks, analyses, and report sections fit together. For a practical introduction to installation, input data, and first use, see the Get started page.

What camtrapReport is designed to do

The package has two main aims. First, it helps users assess whether a camera-trap dataset is complete, consistent, and ready for analysis. Second, it supports the generation of standardised ecological reports that combine summaries, figures, maps, and narrative text in a reproducible format.

In practice, camtrapReport can be used to:

  • organise and prepare camera-trap data for downstream analysis,
  • identify common data-quality problems before reporting,
  • automate ecological analyses,
  • generate reports and assemble outputs into an article-style document that can be reviewed, shared, and reproduced later.

The package is especially useful when the same type of reporting must be repeated across projects, sites, years, or species groups.

Package architecture

The camReport object

At the centre of the package is the camReport object, created with camData(). This object acts as the main workflow container. It stores the imported dataset, user settings, intermediate results, and outputs generated by different parts of the workflow.

Keeping these elements together in one object helps the package remain organised and reproducible. Instead of passing many separate files and arguments between functions, users work from a single object that keeps data, settings, and outputs connected.

Modular workflow structure

camtrapReport is built as a modular system. This means that many parts of the ecological report are handled as separate modules, each responsible for a specific output or analysis. A module may produce a table, a figure, a map, a summary statistic, or a block of narrative text.

This modular structure makes the package flexible. Users can run only the parts they need, combine selected outputs into a customised report, and extend the package by adding new modules when needed.

Reports, sections, and modules

A useful way to think about the package is as a workflow with three connected layers:

  1. Data preparation, where the input data are read, checked, cleaned, and organised;
  2. Analysis modules, where specific summaries and ecological outputs are generated;
  3. Report sections, where those outputs are assembled into a readable final document.

Modules supply the content, while report sections provide the structure. Because sections are built from modular outputs, they can be included, omitted, reordered, or expanded depending on the aims of the report.

Input data model

Camtrap-DP as the standard input format

camtrapReport is designed around the Camtrap-DP standard. In the package workflow, the required input is a single ZIP archive containing the standard camera-trap data resources. This gives users a consistent entry point and allows the package to automate much of the pre-processing and reporting workflow.

Using a standard format is important because it improves comparability and makes it easier to generate the same kinds of outputs across multiple datasets.

Required input data

The only mandatory input for the basic workflow is a camera-trap dataset in Camtrap-DP format. When this ZIP archive is read with camData(), the package extracts the relevant information, reorganises it internally, and prepares it for data checks and ecological analyses.

Optional supporting data

Although the ZIP archive is enough to run the workflow, additional supporting data can improve the final outputs. Examples include habitat information linked to camera locations, study-area boundaries for mapping, and custom text blocks for report sections.

These optional inputs are not required to create a report, but they can make the report more informative and easier to interpret.

Core functionality

Data import and preparation

The workflow starts by reading the input data and preparing them for downstream use. During this stage, the package organises the camera-trap data into internal structures that can be used consistently by later analyses and report sections.

This step also supports data harmonisation and summarisation, helping prepare the dataset for quality checks and ecological reporting.

Data quality assessment

One of the two main components of the package is the Data Status Report. This part of the workflow checks whether the dataset is complete and internally consistent, and whether it is ready for full ecological reporting.

The goal is not only to detect problems but also to help users understand what needs to be corrected before interpreting results.

Ecological report generation

The second main component is the Ecological Report workflow. Once data have been prepared and checked, the package can generate an article-style report that combines multiple outputs into a single document.

Depending on the selected modules, the report may include descriptive summaries, tables, figures, maps, and ecological analyses across spatial and temporal dimensions.

Visual and analytical outputs

A major strength of camtrapReport is that it links analysis and communication. Instead of producing isolated outputs, the package is designed to turn results into report-ready material.

This includes:

  • summary tables,
  • figures and graphs,
  • spatial outputs such as maps,
  • narrative text generated from metadata and results.

Because these outputs are generated within a single workflow, they remain consistent with the underlying data and analysis settings.

End-to-end workflow

Step 1: Prepare the input data

The workflow begins with a standardised input dataset, usually provided as a Camtrap-DP ZIP archive. Optional supporting inputs can also be added at this stage.

Step 2: Create the camReport object

The dataset is then read with camData(), which creates the camReport object. This object stores the processed data and provides the central structure used by the rest of the workflow.

Step 3: Run the Data Status Report

Before ecological reporting, users can generate a Data Status Report to assess data quality and completeness. This helps identify missing fields, inconsistencies, or unusual values that may affect interpretation.

Step 4: Generate the Ecological Report

After the data are prepared, users can generate the ecological report. Selected modules produce outputs that are then assembled into the final report sections.

Main outputs produced by the package

Data Status Report

The Data Status Report provides a structured overview of data quality. It helps users assess whether the dataset is suitable for analysis and highlights issues that may require attention before further processing.

Ecological Report

The Ecological Report is the main reporting product of the package. It brings together selected outputs into a coherent, reproducible document that can be used for interpretation, communication, and sharing.

Tables, figures, and maps

In addition to the report documents themselves, the workflow produces reusable outputs such as tables, visual summaries, and maps. These outputs can support both internal review and external communication.

Extending the workflow

Report sections

Report sections are the building blocks of the final document. Because they are assembled from modular outputs, users can adapt the structure of the final report to match different reporting needs.

Modules

Modules are what make the package extensible. New modules can be added to support additional ecological summaries, analyses, or visualisations. This allows the package to grow with the needs of different users and projects.

In this way, camtrapReport is not only a fixed reporting tool but also a framework that can be customised and extended.

Conclusion

camtrapReport provides a unified workflow for turning camera-trap data into reproducible ecological outputs. Its design combines data preparation, quality assessment, analysis, visualisation, and reporting within a single modular framework.

The package is built around a central camReport object and two main reporting pathways: the Data Status Report and the Ecological Report. Together, these make it easier to move from raw data to interpretable outputs in a way that is transparent, repeatable, and adaptable to different monitoring goals.

To see how data-quality checks work in detail, continue to the Data Status Report vignette. To explore how report content can be customised or extended, see Module Management.