Skip to main content
Glama

dynamic_narrowband_blend

Blend Ha and OIII narrowband data into an RGB image using a temporary luminance mask, with channel-specific strengths and soft rolloff to prevent clipping.

Instructions

Add Ha and OIII (mono views) to an RGB view in place, through a temporary luminance mask. R += ha_strength * Ha; B += oiii_strength * OIII; G += f * ha_strength * g_ha_fraction * Ha + (1 - f) * g_strength * OIII, with f = (OIIIHa)^(1-OIIIHa). Each channel above max_output becomes max_output + (x - max_output) * rolloff. The mask is the Rec.709 luminance of the target, Gaussian-blurred with sigma mask_blur, then 0 below mask_clip and (x - mask_clip) / (1 - mask_clip) above it; it is removed afterwards. Runs as 64-bit PixelMath truncated to [0,1]; reports the median and the R and B maxima.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
ha_idYesHa view (mono, same dimensions)
oiii_idYesOIII view (mono, same dimensions)
rolloffYesFraction of the excess above max_output that is kept
mask_blurYesGaussian sigma (pixels) of the luminance mask blur
mask_clipYesMask level below which the blend does not apply; 0 = no clip
target_idYesTarget RGB view, modified in place
g_strengthYesMultiplier on OIII in the G term
max_outputYesPer-channel level above which the soft clamp compresses
ha_strengthYesMultiplier on Ha added to R
g_ha_fractionYesFraction of ha_strength applied to Ha in the G term
oiii_strengthYesMultiplier on OIII added to B

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.2.1

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations, the description fully carries the transparency burden and succeeds: it discloses that the target is modified in place, the mask is temporary and removed afterward, the computation runs in 64-bit PixelMath truncated to [0,1], and it reports median and channel maxima. This is exactly the kind of behavioral context an agent needs.

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

Conciseness5/5

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

The description is dense but every sentence earns its place: summary, explicit channel formulas, soft-clamp behavior, mask construction, mask removal, numeric precision, and output reporting. No filler, no redundancy, and the most important behavioral facts come first.

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?

For an 11-required-parameter tool with no annotations and no output schema, this description is remarkably complete. It fully specifies the algorithm, the mask lifecycle, the numeric domain, and the reported output values, leaving no critical ambiguity for an agent deciding whether and how to invoke it.

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

Parameters5/5

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

Although schema coverage is 100%, the description significantly enriches parameter meaning by embedding each parameter in the actual equations (e.g., g_ha_fraction's role in the G term, rolloff as the fraction of excess kept, mask_blur as Gaussian sigma). This bridges the gap between telling an agent what a parameter is and how it behaves.

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 opens with a precise statement: 'Add Ha and OIII (mono views) to an RGB view in place, through a temporary luminance mask.' This names the specific operation, resources, and mechanism, and is clearly distinguishable from siblings like ha_inject_red or lrgb_combine.

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?

The detailed math and mask behavior make the intended use context unambiguous: this is the tool for a dynamic Ha+OIII blend into RGB with a luminance mask. However, it does not explicitly compare itself to alternatives (e.g., ha_inject_red, synthetic luminance) or state when not to use it, so it falls short of a 5.

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