Skip to content

Numeric Results — Fast Numeric Sampling

NumericResult channels perform high-speed acquisition on physical channels, computing summary statistics (mean, min, max, standard deviation) server-side. This avoids transferring large sample arrays over the network when only statistics are needed.

Methods

Method Returns Description
get_channels() list[NumericResultChannelDto] All NumericResult channels with sampling capabilities.
get_targets(channel_net_name) list[str] Physical channels that a NumericResult channel can sample.
measure(channel, target, samples, reduced_set) NumericMeasureResultDto Trigger an acquisition (result cached server-side).
get_mean(channel_net_name) float Mean of the last measurement.
get_min(channel_net_name) float Minimum of the last measurement.
get_max(channel_net_name) float Maximum of the last measurement.
get_stdev(channel_net_name) float Standard deviation of the last measurement.
get_samples(channel_net_name) list[float] Raw sample array (only if reduced_set=False).

Typical Workflow

# 1. Discover available NumericResult channels
channels = client.numeric_results.get_channels()
for ch in channels:
    print(f"{ch.net_name} (rate={ch.sample_rate} Hz, "
          f"default_samples={ch.default_samples})")

# 2. Check what a channel can sample
targets = client.numeric_results.get_targets(channels[0].net_name)
print("Available targets:", targets)

# 3. Trigger acquisition (result cached server-side)
meta = client.numeric_results.measure(
    channels[0].net_name, targets[0],
    samples=1000, reduced_set=True)
print(f"Acquired {meta.sample_count} samples in {meta.duration}")

# 4. Fetch summary statistics
mean  = client.numeric_results.get_mean(channels[0].net_name)
stdev = client.numeric_results.get_stdev(channels[0].net_name)
min_v = client.numeric_results.get_min(channels[0].net_name)
max_v = client.numeric_results.get_max(channels[0].net_name)
print(f"Mean={mean:.6f}, StdDev={stdev:.6f}, Min={min_v:.6f}, Max={max_v:.6f}")

Getting Raw Samples

When you need the full sample array, set reduced_set=False:

meta = client.numeric_results.measure(
    channels[0].net_name, targets[0],
    samples=100, reduced_set=False)

samples = client.numeric_results.get_samples(channels[0].net_name)
print(f"First 5 samples: {samples[:5]}")

Warning

Calling get_samples() after a measurement with reduced_set=True will raise an AccordionQ2ApiError (HTTP 400) because raw samples are discarded when only statistics are computed.

Response Models

NumericResultChannelDto

Field Type Description
net_name str Net name of the NumericResult channel
alias str Alias of the channel
possible_target_names list[str] Physical channels this channel can sample
sample_rate int Sampling rate in Hz
default_samples int Default number of samples

NumericMeasureResultDto

Field Type Description
channel_net_name str NumericResult channel used
target_net_name str Physical channel sampled
sample_count int Number of samples acquired
sample_rate int Actual sampling rate in Hz
reduced_set bool Whether raw samples were discarded
started str Acquisition start timestamp
stopped str Acquisition stop timestamp
duration str Acquisition duration