Packages

Satellite toolkit for Elixir with SGP4 propagation, coordinate transforms, GNSS positioning, orbit determination, conjunction assessment, pass prediction, and a Rust NIF backend.

Retired package: Release invalid - source build broken: nonexistent core git tag; precompiled path works; upgrade to >= 0.25.0

Current section

Files

Jump to
sidereon lib sidereon nx coverage.ex
Raw

lib/sidereon/nx/coverage.ex

defmodule Sidereon.Nx.Coverage do
@moduledoc """
Higher-level batched access and coverage metrics.
"""
import Nx.Defn
@doc """
Count visible samples over time from an elevation tensor `[t, s, g]`.
Returns `[s, g]`.
"""
def access_counts(elevation_series, opts \\ []) do
min_elevation = Keyword.get(opts, :min_elevation, 0.0)
do_access_counts(elevation_series, min_elevation)
end
defn do_access_counts(elevation_series, min_elevation) do
elevation_series
|> Nx.greater_equal(min_elevation)
|> Nx.as_type({:u, 8})
|> Nx.sum(axes: [0])
end
end