Skip to main content
Glama

run_wbpp

Start headless WBPP in a separate PixInsight instance to batch preprocess astrophotography frames from input folders. It writes to an output directory and returns a run ID.

Instructions

Start WeightedBatchPreprocessing (WBPP) headless in a separate PixInsight instance (PixInsight -n --automation-mode --force-exit) over input_dirs, writing into output_dir, and return a run id at once; wbpp_status reports the run. output_dir must lie inside /output (a relative path is resolved there) or the state folder. Only the WBPP parameters given are passed; WBPP's own settings apply to the rest. Interactive local normalization and frame selection are turned off so nothing waits for a click. optimize_darks and drizzle_scale are applied to every light group by a generated pipeline-builder script. extra_params passes further WBPP automation parameters by name (BPP-Automation.js lists them). Refuses while the GUI instance runs a command for this workspace, and while an earlier run_wbpp run of this workspace is running. Tools that use the GUI instance keep working while WBPP runs.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
weightsNoSubframe weighting method, or none
autocropNoWBPP autocrop
keywordsNoGrouping keywords [{name, mode}], mode pre (calibration groups), post (integration groups) or prepost
integrateNoWBPP integrate
referenceNoAutomatic registration reference: one for all (auto) or one per value of reference_keyword
rejectionNoPixel rejection for lights (WBPP rejection_4)
input_dirsYesFolders WBPP scans recursively for lights, darks, flats and bias (WBPP dir=)
output_dirYesWBPP output folder: relative to <workspace>/output, or absolute inside <workspace>/output or the state folder
plate_solveNoWBPP platesolve
extra_paramsNoFurther WBPP automation parameters, {name: value}
drizzle_scaleNoEnable drizzle on every light group at this scale
optimize_darksNoSet dark optimization on every light group
frame_selectionNoFrame selection filters [{metric, value, compare}], compare less or greater (non-interactive)
reference_imageNoRegistration reference image file (WBPP referenceImage, manual reference)
reference_keywordNoKeyword for reference auto_by_keyword
image_registrationNoWBPP imageRegistration
local_normalizationNoWBPP localNormalization (run non-interactively)
distortion_correctionNoWBPP distortionCorrection
generate_rejection_mapsNoWBPP generateRejectionMaps

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.4.1

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden and does so richly: it explains the separate PixInsight invocation with automation flags, asynchronous return of a run id, output_dir constraints, that only supplied WBPP parameters are passed, that interactive local normalization and frame selection are disabled, that optimize_darks and drizzle_scale apply to every light group via a generated script, and the exact refusal conditions. This is far beyond what the schema alone would convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded: the first sentence states what the tool does and that it returns a run id immediately. Every sentence adds operational detail relevant to a complex 19-parameter tool, though the dense prose could be easier to scan if split into short bullet-like clauses.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity, 19 parameters, no output schema, and no annotations, the description is complete enough to invoke correctly. It explains the asynchronous run-id return, how to check status via wbpp_status, output_dir constraints, non-interactive behavior, parameter passing rules, and refusal conditions, while the 100%-covered schema handles per-parameter details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds meaningful semantics beyond the schema: 'Only the WBPP parameters given are passed; WBPP's own settings apply to the rest,' 'optimize_darks and drizzle_scale are applied to every light group by a generated pipeline-builder script,' and extra_params is explained as further WBPP automation parameters listed in BPP-Automation.js. These details clarify how several parameters interact with WBPP behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description begins with a specific verb and resource: 'Start WeightedBatchPreprocessing (WBPP) headless in a separate PixInsight instance.' It also names the sibling tool wbpp_status that reports the run, so an agent can distinguish this tool from related status and processing siblings without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear operational context: output_dir must be inside <workspace>/output or the state folder, and the tool refuses while the GUI instance runs a workspace command or while an earlier run_wbpp is running. It also points to wbpp_status for run reporting. However, it does not explicitly compare run_wbpp against alternative processing tools like run_process or run_pjsr for non-WBPP workflows.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.