Learn R Programming

BioGSP (version 1.0.0)

sgwt_inverse: Inverse SGWT transform (single or batch)

Description

Reconstruct signal(s) from filtered Fourier coefficients using inverse GFT. Handles both single signals and multiple signals efficiently. Returns detailed inverse transform results including low-pass, band-pass approximations, reconstructed signal(s), and reconstruction error(s).

Usage

sgwt_inverse(sgwt_decomp, eigenvectors, original_signal = NULL)

Value

List containing:

vertex_approximations

Named list with inverse-transformed signals in vertex domain:

low_pass: Low-pass (scaling) approximation wavelet_1, wavelet_2, etc.: Band-pass (wavelet) approximations by scale

reconstructed_signal

Full reconstructed signal (vector or matrix)

reconstruction_error

RMSE (scalar for single signal, vector for multiple signals)

Arguments

sgwt_decomp

SGWT decomposition object from sgwt_forward

eigenvectors

Eigenvectors of the graph Laplacian (for inverse GFT)

original_signal

Original signal vector OR matrix (n_vertices x n_signals) for error calculation (optional)

Examples

Run this code
# \donttest{
# Create example data and perform forward transform
data <- data.frame(x = runif(50), y = runif(50), signal = rnorm(50))
SG <- initSGWT(data, signals = "signal", J = 3)
SG <- runSpecGraph(SG, k = 10)
eigenvectors <- SG$Graph$eigenvectors
eigenvalues <- SG$Graph$eigenvalues
scales <- SG$Parameters$scales

# Single signal - forward transform first
original_signal <- data$signal
sgwt_decomp <- sgwt_forward(original_signal, eigenvectors, eigenvalues, scales)
inverse_result <- sgwt_inverse(sgwt_decomp, eigenvectors, original_signal)

# Multiple signals (batch processing)
original_signals_matrix <- cbind(data$signal, data$signal * 2)
sgwt_decomp <- sgwt_forward(original_signals_matrix, eigenvectors, eigenvalues, scales)
inverse_result <- sgwt_inverse(sgwt_decomp, eigenvectors, original_signals_matrix)
# }

Run the code above in your browser using DataLab