Menu
Argiope logo

Help & Tutorial

Guide to Argiope features and technical concepts

TUTORIAL PLAYLISTPrefer to follow along on video?

See Argiope features in step-by-step demonstrations.

Open on YouTube ↗

Introduction

Argiope is a desktop suite for analyzing and standardizing images. AI-assisted tools are integrated in both modules to support image segmentation, classification, and image calibration. Argiope supports RGB, multispectral, and hyperspectral imagery. The Analyze Images and Standardize Images modules are independent.

Analyze Images provides tools for image segmentation, object detection, image classification, and image-data extraction across RGB, multispectral, and hyperspectral images. AI-assisted methods support classification, bounding-box detection, and segmentation. You may also draw polygons and annotate images or individual shapes manually. Supported formats include JPEG, PNG, ENVI, TIFF, GeoTIFF, CR2, DNG, NEF, among many other types.

Standardize Images performs image calibration, converting raw camera output into values proportional to the scene's true optical properties so that colors are comparable across devices. Calibration removes camera- and scene-specific biases (e.g., illumination, white balance, in-camera processing) and maps pixel intensities to standardized values. The goal is for a surface with a given reflectance to yield consistent values regardless of camera, lens, or lighting.

Home Page

  • Analyze Images: Launches the analysis module.
  • Standardize Images: Launches the standardization module.
  • Log in/Log out: Ends the session and returns to the login page.

Access and Accounts

The Login page manages user authentication and local account creation. User settings and AI models are stored per account. Some AI models require personal API keys. Creating an account ensures API keys are stored securely and your settings persist.

Logging In

  1. Enter your username. A dropdown lists previously created accounts for quick selection.
  2. Type your password. Use Show to toggle visibility and avoid typos.
  3. Press Log in to start a session.

Creating and Deleting Users

Select Create user to open a modal with fields for username and password. You may leave the password field empty. The new account is saved locally and appears in the suggestions list. Select Delete user and type a password to permanently delete a user.

Updating Passwords

Click Change password to open a modal pre-filled with the logged-in username. Provide the old password, enter and confirm the new one, then click Update password. The change takes effect immediately.

Guest Access

Argiope opens automatically as Guest. Use Access as guest to explore features without credentials. Guest sessions also persist user data, including API keys.

Analyze Images

Importing Images

Open the Analyze Images page and click Import images. If an Argiope-generated annotation file is in the same folder, polygons, image tags, and polygon tags are loaded automatically.

Important If the files you added are stored on an external source that requires an internet connection, make sure your connection is stable. An unstable connection may affect the software's performance.

Viewing Objects & Editing Features

Opening a file card launches a full-screen modal with tabs for image interaction and analysis summaries.

Toolbar Tools

The floating toolbar above the canvas includes:

  • Reset view: Restores the original zoom and position.
  • Feature selector: Enables selection mode for existing polygons.
  • SAM Tool: Uses the Segment Anything Model for automatic segmentation.
    • Select the SAM tool, then left-click inside the object to add a positive point. Positive points appear as green + markers. At least one positive point is required.
    • Add more positive points to include missing areas. The segmentation preview updates automatically after each change.
    • Right-click areas that do not belong to the object to add negative points, shown as red markers. Negative points help remove unwanted areas from the preview.
    • Press Backspace to remove the most recently added point. You can continue adding or removing points until the preview matches the object.
    • Press Enter or click the button to save the current preview as a polygon. If SAM is still processing, Argiope waits for the latest preview before saving. The tool remains active so you can start another object.
    • Press Esc or click the × button to cancel the current SAM session without saving its preview.
  • Polygon draw: Manually trace regions of interest.
  • Line draw: Manually trace regions of interest.
  • Undo, and Redo: Undo and redo the last 10 changes applied to polygons.
  • Zoom in, Zoom out, and Pan: Adjust the viewport. Holding Shift is a shortcut for Pan.
  • Import feature file: Add annotations directly from the viewer. Import a JSON in the COCO format or an ImageJ ROI file (https://imagej.net/ij/). For ImageJ ROIs, unzip the file first and select the desired objects.
  • Export feature file: Export a JSON in the COCO format or an ImageJ ROI file (https://imagej.net/ij/).
  • Select model: Choose which AI model to apply; Generate features (AI) executes it on the current image.
Objects List & Tags

The side panel lists every object. You may add tags to classify the image or individual objects.

AI Models & Feature Generation

Use built-in models or connect external services to generate features such as polygons (segmentation), bounding boxes (detection), or image-level labels (classification).

Supported Model Types
  • Zero-shot Segmentation: detects and segments objects from one or a few descriptive words. Runs locally.
  • Zero-shot Detection: same as above but returns bounding boxes. Runs locally.
  • Roboflow Segmentation: uses a model trained in Roboflow (https://roboflow.com) via their inference servers. Roboflow is a user-friendly app for AI model training that also provide inference servers.
  • Roboflow Classification: uses a Roboflow model for image classification; returns labels added to Image Tags.
  • Roboflow Workflow: runs a Workflow published through Roboflow Deploy. Results can be applied as editable segmentation polygons or as image tags.
  • Gemini Classification: uses Google Gemini model for image classification based on a prompt; returns labels added to Image Tags.
  • ChatGPT Classification: uses an image-capable OpenAI model and a prompt; returns the model text as image tags.
  • Claude Classification: uses an image-capable Anthropic Claude model and a prompt; returns the model text as image tags.

For Gemini, ChatGPT, and Claude classification, formats that are not accepted directly by the API, such as HDR and CR2, are automatically converted to an RGB JPEG before upload. User-provided API keys are stored encrypted in the local profile.

AI Models: How to Add Models
  • Click AI Models. To add a model, type a name and select the model type:
    • Zero-shot Segmentation:
      • Objects list: add keywords describing targets (comma-separated), e.g., butterfly, small green square, big circle. Try variants for robust performance.
      • Detection threshold: per-object confidence threshold (comma-separated). Very low thresholds (e.g., 0.001%) can help during exploration.
      • Max. number of features: maximum objects per type to retain (comma-separated). Keeps the highest-confidence results.
      • Buffer (%): edge offset applied to polygons. Positive values dilate outward; negative values erode inward. The percentage is applied per border (e.g., -10 removes about 10% from each side).
    • Zero-shot Detection: same as above but returns bounding boxes.
    • Roboflow Segmentation:
      • URL: provide the roboflow model URL address; e.g., colorchecker-segmentation/3
      • API Key: required for Roboflow inference (kept personal and confidential). To locate you API Key go to your user account in the Roboflow WebApp
      • Detection threshold (%): minimum confidence. Only detection with confidence values above the threshold will be kept.
      • Max. number of features: maximum objects per image.
      • Buffer (%): edge offset applied to polygons. Positive values dilate outward; negative values erode inward. The percentage is applied per border (e.g., -10 removes about 10% from each side).
    • Roboflow Classification:.
      • URL and API Key as above.
    • Roboflow Workflow:
      • Workspace name: the slug shown in the Roboflow workspace URL, for example, evolutionary-ecology-lab.
      • Workflow ID: the ID or URL slug of the Workflow published in Roboflow Deploy.
      • API Key: the personal Roboflow account key used to run the Workflow.
      • Image input name: the name assigned to the Workflow image input; normally image.
      • Apply results as: choose segmentation to create editable polygons or tags to add image labels.
      • Workflow output key: optional. Leave blank to detect the predictions output automatically; use a dot-separated path only when the Workflow has multiple outputs, for example, output.predictions.
      • Buffer (%): expansion or contraction applied to polygons when using segmentation results.
    • Gemini Classification:.
      • API Key: required for Gemini inference (kept personal and confidential). To locate you API Key go to your user account in the Google AI for Developers (https://ai.google.dev/).
      • Model: select Gemini model.
      • Prompt: type a prompt for the Gemini model. For instance, "read the label on this image and return its content."
    • ChatGPT Classification:
      • API Key: create or access a key on the OpenAI platform (https://platform.openai.com/api-keys). ChatGPT subscriptions and API credits are separate services.
      • Model: select or enter an OpenAI model that supports image input.
      • Prompt: describe the desired classification and response format, for example, "identify the species and return only its scientific name."
    • Claude Classification:
      • API Key: create or access a key in the Anthropic Console (https://console.anthropic.com/settings/keys). The account must have API credits available.
      • Model: select or enter a Claude model that supports image input.
      • Prompt: describe the desired classification and response format.

Image Lists

An Image List is a saved .json file that records the paths of all images loaded in a session. Opening a list restores the full set of images in one click, without re-importing them manually.

When a list is opened, Argiope automatically loads each image's companion COCO file and restores all features.

Use the Image lists button in the top bar to open, save, or close a list. An amber dot next to the list name indicates unsaved changes.

Running Analysis

Select one or more images and press Analyze selection. Data are extracted for each object in each image and stored in a tab-delimited spreadsheet file (.txt). The file can be opened in any spreadsheet software (e.g. Excel) or statistical software (tip: in R use function read.delim).

Columns exported by default:

  • file_name, image_path: source file info and tags attached to the image.
  • object_name, object_id, : object label, and object unique id within an image.
  • object_tags: tags at the object level (object classification).
  • object_coordinates: x and y coordinates of object vertices.
  • object_N_Pixels: number of pixels inside the mask. It can be used to calculate objects actual sizes based on a known scale.
  • object_hasInf, object_hasNA: flags for infinite or NaN values after masking.
  • area, area_unit, length, length_unit: calculated sizes based on the reference scale provided by the user (ruler icon in object panel).

Polygon images

After the analysis, an argiope_data folder is created in the same directory where the image is. Inside this folder additional folders are created with image names where one image file of each polygon is saved.

Object image file names are saved with a object_name + object_id structure so that users can easily refer to them in the spreadsheet file.

Furthermore, polygon images can be opened in other softwares (e.g. imageJ, Adobe Photoshop, R, Python) for additional data extraction at the polygon level.

Analyses

Use the Analyses to append statistics to the exported table. All outputs are written per object; results that create images also attach previews inside the session folder.

Basic Statistics
  • Raw Values Stats: object_overall_max/min/mean/std/median/mad* and mean std**. Summary stats of all pixel values merged across channels in the object.
  • Square root-transformed Stats and Natural logarithm-transformed(ln+1) Stats: the same stats after transforming pixels values by the square root or the natural logarithm + 1.
  • Kernel Density Estimation: KDE-based mode estimation (highest-density point) for the object (column 'object_multimax'). These represent the most common combination of pixel channel values. For instance, in an RGB image KDE will estimate the most common combination of R, G and B values.
  • Channel-level Stats:
    • channel_CWL and channel_FWHM: Center Wavelength and Full Width at Half Maximum from image metadata; one pair per channel.
    • channel_mean, channel_std, channel_median, channel_mad, channel_max, channel_min: per-channel statistics of the polygon.
    • channel_relative_intensity: mean relative intensity of the channel (channel value divided by the per-pixel channel sum, then averaged over all pixels). For instance, in an RGB image, Rrelative = R/(R+G+B), Grelative = G/(R+G+B) and Brelative = B/(R+G+B); then Rrelative, Grelative, and Brelative are averaged across the polygon.
    • Each line of the spreadsheet represents one spectral channel inside one polygon. Metrics that belong to the whole polygon (number of pixels, overall mean, etc.) are repeated on every line for convenience.

*The median absolute deviation (mad) is a measure of variability calculated as 1.4826*median(abs(xi-median(x)))

**object_overall_mean_std, object_ln1_overall_mean_std, object_sqrt_overall_mean_std: the mean standard deviation of channels at the pixel level. For instance, in an RGB image, this will be calculated as mean(std(R,G,B)).

Shape Descriptors

Select only the shape descriptors you want to export. These metrics are calculated from the polygon mask, independently of pixel intensity values.

  • Circularity: exports object_Circ. Calculated as 4*pi*area/perimeter^2. Values closer to 1 indicate a more circular shape; values closer to 0 indicate a more elongated shape.
  • Aspect Ratio: exports object_AR. Calculated as major_axis/minor_axis from the fitted ellipse axes.
  • Roundness: exports object_Round. Calculated as 4*area/(pi*major_axis^2).
  • Solidity: exports object_Solidity. Calculated as area/convex area.
  • Centroid: exports object_X and object_Y. These are the average x and y coordinates of all pixels inside the polygon mask.
  • Perimeter: exports object_Perim. This is the perimeter of the polygon mask in pixel units.
  • Bounding Box: exports object_BX, object_BY, object_Width, and object_Height. These describe the smallest axis-aligned rectangle containing the polygon mask.
Principal Component Analysis (PCA)
  • Computes eigenvalues and eigenvectors from the masked pixels (requires at least two channels and enough pixels).
  • Exports PC1 and PC2 eigenvalues (object_PC1, object_PC2) and the eigenvalues sum (object_PC_sum).
  • A JSON file with all eigenvalues/vectors, covariance, and sample count is saved on the image folder inside the polygon folder.
Moran's I on PCA
  • Measures spatial autocorrelation on PC1 and PC2 rasters derived from the polygon.
  • Exports moran_I_PC1 and moran_I_PC2; higher positive values indicate clustering, negative values indicate dispersion.
Image Semivariogram

The image semivariogram describes how differences between pixel values change with spatial distance inside each selected object. Pixels are treated as continuous multichannel measurements; they are not classified or converted into categories. Each object is analyzed independently on its regular image grid, and pairs are never formed between different images or objects.

For a pair of pixels, Argiope calculates the mean squared difference across the selected channels and divides it by two. Pixel pairs are grouped into distance classes (bins). The empirical semivariance for a class is the pair-count-weighted mean of those values. With one channel, this reduces to the conventional scalar semivariogram.

Calculation options

  • Calculation — Approximate: recommended for large images. It samples offsets and pixel pairs separately within each distance class, preventing long distances from dominating. A new random seed is generated for every analysis run and saved in the JSON metadata. Increase Maximum sampled pairs/bin or Sampling repetitions when results vary excessively between runs.
  • Calculation — Exact: evaluates all valid pairs for every eligible regular-grid offset without building a complete pixel-by-pixel distance matrix. It is slower and is most useful for small objects, reference calculations, or validation of approximate results.
  • Nugget — Free (estimated): estimates a non-negative discontinuity at distances immediately above zero. It may represent unresolved short-range variation or measurement noise, but it can be strongly correlated with sill and range.
  • Nugget — Fixed at zero: removes the nugget from the optimization and fits a model whose limiting semivariance at the origin is zero. This can stabilize the other parameters when the freely estimated nugget is negligible. It should not be used automatically when the first distance classes indicate a real discontinuity.
  • Mask pair policy — Valid endpoints: the default conventional policy. A pair is accepted whenever both endpoint pixels are valid, even if the straight segment between them crosses an area outside the mask.
  • Mask pair policy — Same connected component: accepts a pair only when both endpoint pixels belong to the same 8-connected mask component. It prevents pairs between disconnected regions, but does not reject pairs whose segment crosses outside the mask when the endpoints remain connected by another path.
  • Minimum pairs/bin: classes below this pair count remain in the empirical table, are marked as insufficient, and are excluded from fitting.
  • Maximum distance: limits the spatial extent of the calculation. If blank, Argiope uses half of the image-grid diagonal. The distance should be long enough to show the plateau; a range beyond the analyzed extent is flagged.
  • Bin width: controls the width of the distance classes. If blank, approximately 40 classes are created, never narrower than one grid step. Very narrow bins can contain too few pairs; very wide bins can hide short-range structure.
  • Maximum sampled pairs/bin: approximate-mode sampling budget for each distance class. Larger values reduce sampling noise but take longer.
  • Sampling repetitions: repeats the stratified sampling to estimate sampling uncertainty. It is available only in approximate mode. The output separates sampling_run_sd (variation between individual runs) from sampling_mean_se (standard error of the mean across repetitions).
  • Directional analysis: additionally analyzes 0°, 45°, 90°, and 135° in image coordinates. Direction 0° follows increasing columns and 90° follows increasing rows. Directional ranges are used to report the continuity direction and anisotropy ratio.

Models to fit

  • Nugget only: a null/reference model with no distance-dependent spatial structure. With the nugget fixed at zero it becomes the zero semivariogram.
  • Spherical: reaches its sill at a finite mathematical range.
  • Exponential: approaches the sill asymptotically and has a relatively sharp short-distance behavior.
  • Gaussian: approaches the sill asymptotically with a smoother origin.
  • Matérn: compares the smoothness values ν = 0.5, 1.5, and 2.5. The selected ν is exported; ν = 0.5 corresponds to exponential-type correlation.

Each model selected by the user is fitted independently by Cressie weighted least squares, with weights proportional to N(h) / gamma_model(h)^2. Argiope does not rank the models or select a best model. The user must decide which model is scientifically appropriate after examining the curve, residuals, convergence, parameter stability, observed distance range, and warnings. A small fit error is meaningful only when comparing the same data scale, channels, weights, bins, and spatial configuration.

Confidence-interval limitation: pixel pairs in a semivariogram are not independent because many pairs share pixels and spatial dependence remains between observations. The displayed normal intervals therefore use an approximate standard error and must be treated as descriptive, not as calibrated 95% coverage intervals. In approximate mode, sampling_mean_se quantifies Monte Carlo uncertainty of the repeated sampling mean; it does not include all spatial/process uncertainty.

Parameter-uncertainty limitation: parameter standard errors come from the local least-squares Jacobian. Distance classes can be correlated and the approximation does not replace a spatial bootstrap or a field-level likelihood analysis. Treat these standard errors and parameter-correlation warnings as diagnostics, especially for boundary estimates, ranges beyond the observed extent, or strongly correlated parameters.

Interpretation and files

  • Nugget: modeled short-distance discontinuity; zero when fixed.
  • Sill: nugget plus partial sill, representing the modeled semivariance plateau.
  • Effective range: distance where the predicted correlation falls to 0.05; the spherical model instead also has a finite mathematical range.
  • Main PNG: empirical points sized by pair count, uncertainty, and all fitted model curves, with no preferred curve highlighted.
  • Validation PNG: observed-versus-fitted values and residuals for every converged model, plus fitting-error diagnostics without automatic ranking.
  • Empirical CSV: bin limits, mean distance, semivariance, pair counts, uncertainty, direction, and insufficient-class status.
  • Models CSV: every candidate, convergence, errors, warnings, nugget mode, and fitted parameters.
  • JSON: complete results and reproducibility metadata, including channels, configuration, generated seed, mask extent, timing, memory estimate, and algorithm version.
  • Results table: one row for each fitted model and direction, with nugget mode, nugget, sill, effective range, Matérn ν, anisotropy, fit quality, convergence, and warnings.
K-Means Clustering
  • Segments the pixels inside the polygon into hard clusters. Manual mode uses the chosen n clusters; automatic mode tests up to max clusters using silhouette score.
  • Exports cluster labels (kmeans_labels_img), kmeans_n_clusters, cluster centers, and proportions. Optional landscape metrics are selected separately.
  • The best cluster count in automatic mode is the one with the highest silhouette score, balancing compactness and separation.
  • A JSON file is saved on image folder inside the polygon folder with details on the analysis.
  • An image file with clusters and cluster centers is saved on image folder inside the polygon folder.
Gaussian Mixture Model (GMM)
  • Fits a diagonal-covariance mixture model. Manual mode uses the provided component count; automatic mode selects the best up to max components using BIC. Optionally scale inputs before fitting.
  • Exports gmm_labels_img, gmm_n_clusters, and cluster means/weights. Optional landscape metrics are selected separately.
  • Note: gmm_labels_img may display fewer visible clusters than the model components if some components receive no pixels.
  • BIC chooses the simplest model that explains the data.
  • A JSON file is saved on image folder inside the polygon folder with details on the analysis.
  • An image file with clusters and clusters means is saved on image folder inside the polygon folder.
Landscape configuration metrics

After K-Means or GMM converts every classified pixel into a map class, enable landscape metrics and select only the measurements you need. Class-level results use columns such as kmeans_landscape_class_1_pland; landscape-level results use columns such as gmm_landscape_pielou_evenness. Patches use 8-neighbor connectivity, areas are pixel counts, and edges are counted as pixel sides. Let A be the classified landscape area, Ai the area of class i, a and P a patch area and perimeter, pi = Ai/A, and K the number of classes.

  • Total class area: Ai, the number of classified pixels in the class.
  • PLAND: 100 Ai/A. It measures how much of the object is occupied by the class.
  • Number of patches (NP): number of disconnected 8-neighbor components of the class. Higher values indicate greater subdivision.
  • Patch density (PD): 100 NP/A, reported as patches per 100 classified pixels.
  • Mean, median, and maximum patch area: summaries of the pixel counts of the class patches.
  • Largest patch index (LPI): 100 max(a)/A. It measures dominance of the largest patch in the whole classified landscape.
  • Total edge (TE): sum of class-patch perimeters. A pixel side contributes when it touches another class or the outside of the classified mask.
  • Edge density (ED): TE/A, the amount of class edge per classified pixel.
  • Mean perimeter-area ratio: mean of P/a. Larger values indicate more edge relative to patch area.
  • Mean shape index: mean of P/(4√a). A compact square has value 1; more irregular patches have larger values.
  • Mean circularity: mean of 4πa/P². Values nearer 1 indicate more circular patches.
  • Mean fractal dimension: mean of 2 ln(0.25P)/ln(a). It describes boundary complexity; one-pixel patches are excluded because the logarithmic expression is undefined.
  • Mean nearest-neighbor distance: mean of the shortest Euclidean distance to another patch of the same class, measured between the centers of the closest boundary pixels. It is undefined when the class has only one patch.
  • Mean proximity index: for each patch, sums aj/dij² over all other same-class patches using boundary-pixel center distances, then averages the sums. The search area is the full classified landscape; the value is 0 when no other same-class patch exists.
  • Aggregation index: 100 gii/max(gii), where gii is the number of shared cardinal sides between class pixels and the denominator is the maximum possible for that class area. Larger values indicate aggregation.
  • Contiguity index: mean patch-level FRAGSTATS contiguity. A 3×3 template weights cardinal neighbors by 2, diagonal neighbors by 1, and the focal pixel by 1; each patch value is ((Σc/a)−1)/12. It equals 0 for a one-pixel patch.
  • Clumpiness: let Gi be directed like cardinal adjacencies divided by all cardinal pixel surfaces of class i, including surfaces facing background or the landscape boundary. CLUMPY is (Gi−pi)/(1−pi) when Gi≥pi or pi≥0.5; otherwise it is (Gi−pi)/pi. It is undefined when one class occupies the whole landscape.
  • Relative patch diversity: (1/Σpi²)/K, exported as kmeans_patch_diversity_relative or gmm_patch_diversity_relative. It approaches 1 when classes occupy equal proportions and approaches 1/K when one class dominates.
  • Pielou evenness: J = H′/ln(K), where H′ = −Σpiln(pi). Values near 1 indicate equal class proportions; it is undefined when only one class is present.
User Defined Formulas
  • Create custom metrics per polygon at the pixel level. For each formula, provide a name and expression; results are exported as User_{name}.
  • Click Read channels to detect the channel names of the selected images. If no image is selected, it reads the channel names of all images.
  • Refer to channels by their labels (e.g., R, band1) or with band("label"). Supported math/stat helpers include mean, median, std, min, max, sum, count, exp, log, basic arithmetic symbols (+ - * / ^), comparisons (> < >= <= == !=), and logical operators (and, or, not, &&, ||, !).
  • Example: count(R > 0.5 and G < 0.4) counts pixels inside the polygon where both conditions are true.
  • Example: (R - G) / (R + G) computes a normalized difference at the pixel level and calcutes the avegare across pixels inside the polygon.

Standardizing Images

This multi-step procedure converts RAW photographs into color-corrected files using a reference standard.

Only RAW image formats are accepted as input. Most camera vendors are supported, including Canon, Nikon, Sony, Samsung, Panasonic, and Olympus. Because RAW files preserve minimally processed sensor measurements (digital negatives), they provide maximum flexibility and accuracy for calibration.

A reference standard with known reflectance values (e.g., X-Rite ColorChecker Passport or Labsphere Diffuse Reflectance Standards) is required. The standard is used to fit the regression that maps pixel intensities to calibrated values. The reference may appear in every photo or only one photo; in the latter case, that photo must share the same conditions as the others (illumination, angle, and camera settings).

Calibrated images are saved as either TIFF or ENVI files. ENVI images are composed of two files (.hdr and .dat).

Images do not go through barrel corrections which may introduce small distortions depending on the lens type

Calibration Settings

You may treat images independently (processing mode Separate images) or as groups (processing mode Stacking images). Grouping is intended when the same object was photographed multiple times (e.g., with UV, RGB, and IR filters) and you want to merge them into a multispectral image.

Adding and Organizing Files
  • Add files or Add folder to import from disk.
  • Imported items appear as thumbnails. You may drag and drop cards to reorder them.
  • Important: If the files you added are stored on an external source that requires an internet connection, make sure your connection is stable. An unstable connection may affect the software’s performance.

1) If you chose Stacking images, three tabs are available: Channels, Alignment, and Calibration.

Channels Tab

The Stacking images structure appears as groups of images. Each row represents one group to be treated as a multispectral image. Rows are aligned so each image within a row is handled consistently.

  • Within a group, you may reorder (drag and drop) or remove (trash icon) images.
  • Between groups, you may reorder (drag and drop) or remove (trash icon) groups.
  • You may create a new group.
  • Use the settings icon at the bottom to choose whether to use all channels (R, G, B) or let Argiope automatically select a single best channel.
  • Specify CWL (center wavelength) and FWHM (full width at half maximum) for every channel. The input accepts numbers (e.g., 450) or labels (e.g., UV). While not strictly required for calibration, accurate interpretation of color metrics depends on correct wavelength values.
Alignment Tab

Aligns images relative to each other so all spectral channels overlap correctly for multispectral composition. There are three options: Feature Matching + Homography, Phase correction or Manual. Automatic alignment works for most cases.

Calibration Tab
  • Color Standards
    • Select or add the color standard used in your images. These values drive the conversion from pixel intensities to calibrated reflectance. You may add, remove, or edit standards, including the number of reference samples.
  • Color standard coordinates
    • Argiope needs the locations of reference samples to extract intensities. Options:
      • Indicate locations in every image (fully manual);
      • Indicate locations in the first image of each group (others inherit after alignment);
      • Use the first image of the first group as reference (other groups inherit the same layout);
      • Use an AI-assisted detector. Click AI Models to configure.
  • AI Model button
    • Add a trained model to automatically detect the color standard.
  • AI Models for Color-Standard Coordinates

    You may use a trained model to automatically detect reference standards. Argiope integrates with the Roboflow Web App (https://roboflow.com) to run inference. Roboflow offers a user-friendly workflow for training models. The model should locate each individual color-standard patch used for calibration.

    Click AI Models to configure:

    • URL: provide the Roboflow model path (e.g. colorchecker-segmentation/3).
    • API Key: required for Roboflow inference. Your API key is personal and confidential (available in your Roboflow account).
    • Detection Threshold: detections below this confidence are discarded.
    • Buffer (%): edge offset applied to detected polygons. Positive values dilate outward; negative values erode inward. The percentage is applied per border (e.g., -10 removes about 10% from each side).

2) If you chose Separate images, two tabs are available: Channels and Calibration.

Channels Tab

Images appear as thumbnails. The R, G, and B channels of each image will be calibrated. Use arrow controls, or drag and drop thumbnails to change image order (useful when the first image is the calibration reference).

Calibration Tab

Same options as above.

Export Options

Select the File Type (TIF or ENVI) and the Data Type (8-bit or 32-bit). An 8-bit file is smaller (0 to 255 integers) but cannot store decimals or negative values. A 32-bit file stores decimals and both negative/positive values at the cost of larger size. Unless storage is constrained, 32-bit is recommended.

Processing & Progress

Click Process to start standardization. A modal displays status text and a live progress bar. You can abort at any time. When complete, the Results button opens the review page.

Review Results

  • An error alert lists any processing failures.
  • A gallery displays each image with its report.
  • A graph shows the regression used to convert pixel values to standardized values, along with equations and R2.
  • Use Redo image standardization to adjust parameters or Finish to return home.

Technical Details on the Standardization Workflow

The Argiope algorithm for Image Standardization goes through the following steps:

  1. Open the first RAW image.
  2. Using the color-standard coordinates, compute the mean pixel intensity for each patch.
  3. Pair these measurements with the reference values defined in the Color Standards section.
  4. Fit a least-squares linear model with color-standard reference values as the response and mean pixel intensities as the predictor. Fit R, G, and B channels independently.
  5. Apply each model to convert every pixel from original intensity to calibrated value.
  6. If Best Channel is selected, choose the channel according to:
    1. Model R2 > 0.97;
    2. Highest value measured, non-saturated intensity (a sample is non-saturated if its maximum measured intensity < 65,535);
    3. If neither (1) nor (2) is met, select the channel with the highest R2.
  7. If generating a multispectral image (directories), repeat the steps for each image in the group.
    1. If selected, apply alignment by registering the current image to the first image (before intensity calculation).
  8. If the first image/group is set as reference, apply the model(s) to the remaining images; otherwise, repeat the steps for each image/group.
  9. Store the generated coefficients and fit statistics as metadata for later review and reproducibility.

*RAW images are processed as provided by the camera. Lens-distortion correction is not applied, so small geometric differences may occur depending on the lens.

Known Limitations

  • Due to system limitations, very long paths may cause issues with file access or saving results.
  • Argiope relies on rawpy(LibRaw) to decode Nikon NEF files, so it can only read NEFs that LibRaw supports. Some newer Nikon NEF variants (notably certain Z8/Z9 High Efficiency modes) may fail to decode, even when the file itself is intact.
  • Images have a maximum size of 178956970 pixels (~180 megapixels). Larger images will not be processed.
  • Support

    For assistance or to report issues, contact the Argiope development team: https://github.com/argiopeLab/Argiope/issues/

    Glossary

    CWL (Center Wavelength)
    The central wavelength of a spectral channel. Accurate CWL values are required to interpret each channel's data correctly.
    FWHM (Full Width at Half Maximum)
    The width of a spectral channel measured at half of its peak intensity. Together with CWL, it defines each channel's sensitivity range.
    Color Standard
    A reference chart with known reflectance values. Including it in photographs enables Argiope to standardize pixel values, ensuring measurements are comparable across sessions.
    Calibration Model
    The statistical model (typically a general linear model) that maps camera intensity values to standardized reflectance values.
    Image Segmentation
    A computer-vision process that partitions an image into distinct regions or objects by grouping pixels with similar characteristics.
    Image Classification
    A computer-vision task that assigns a label or category to an entire image based on its visual content. Models learn patterns and features and then categorize images into predefined classes.