(Lapped) Hierarchical Graph Laplacian Eigen Transform
MultiscaleGraphSignalTransforms.HGLET.HGLET_AnalysisMultiscaleGraphSignalTransforms.HGLET.HGLET_Analysis_AllMultiscaleGraphSignalTransforms.HGLET.HGLET_BestBasisMultiscaleGraphSignalTransforms.HGLET.HGLET_GHWT_BestBasisMultiscaleGraphSignalTransforms.HGLET.HGLET_GHWT_BestBasis_minrelerrorMultiscaleGraphSignalTransforms.HGLET.HGLET_GHWT_SynthesisMultiscaleGraphSignalTransforms.HGLET.HGLET_SynthesisMultiscaleGraphSignalTransforms.HGLET.HGLET_jklMultiscaleGraphSignalTransforms.HGLET_dictionaryMultiscaleGraphSignalTransforms.LPHGLET_Analysis_AllMultiscaleGraphSignalTransforms.LPHGLET_SynthesisMultiscaleGraphSignalTransforms.LPHGLET_dictionary
MultiscaleGraphSignalTransforms.HGLET.HGLET_Analysis — Functionfunction HGLET_Analysis(G::GraphSig, GP::GraphPart, gltype::Symbol = :L)
For a GraphSig object 'G', generate the matrix of HGLET expansion
coefficients corresponding to the eigenvectors of specified version of
the graph Laplacian matrix, i.e., either L, Lrw, or LsymInput Arguments
G: a GraphSig objectGP: a GraphPart objectgltype: :L, :Lrw, or :Lsym, indicating which eigenvectors are used
Output Argument
dmatrix: the matrix of expansion coefficients using the specific GL matrix
MultiscaleGraphSignalTransforms.HGLET.HGLET_Analysis_All — Methodfunction HGLETAnalysisAll(G::GraphSig, GP::GraphPart)
For a GraphSig object 'G', generate the 3 matrices of HGLET expansion
coefficients corresponding to the eigenvectors of L, Lrw and LsymInput Arguments
G: a GraphSig objectGP: a GraphPart object
Output Argument
dmatrixH: the matrix of expansion coefficients for LdmatrixHrw: the matrix of expansion coefficients for LrwdmatrixHsym: the matrix of expansion coefficients for Lsym
MultiscaleGraphSignalTransforms.HGLET.HGLET_BestBasis — Methodfunction HGLET_BestBasis(GP::GraphPart; dmatrix::Array{Float64,3} = Array{Float64,3}(undef,0,0,0), gltype::Symbol = :L, cfspec::Any = 0.1, flatten::Any = 1)
Select the HGLET best basis from the input matrix of expansion coefficientsInput Arguments
GP: a GraphPart objectdmatrix: the matrix of HGLET expansion coefficientsgltype: the type of graph Laplacian matrix used for HGLET dictionary (default = :L)cfspec: the cost functional specification to be used: see utils.jl for the detail. If it's a number, say, p, then the l^p norm is used. If it's a function, then that function is used. Default is 0.1, i.e., l^0.1flatten: the method for flattening vector-valued data to scalar-valued data; If it's a number, say, p, then the sum of the l^p norm is computed. There are many other options, such as :ash, :entropy, etc. See utils.jl for the detail. Default is 1, i.e, the sum of the l^1 norm of the coefs.
Output Argument
dvec: the vector of expansion coefficients corresponding to the bestbasisBS: a BasisSpec object which specifies the best basis
MultiscaleGraphSignalTransforms.HGLET.HGLET_GHWT_BestBasis — Methodfunction HGLETGHWTBestBasis(GP::GraphPart; dmatrixH::Array{Float64,3} = Array{Float64,3}(undef,0,0,0), dmatrixHrw::Array{Float64,3} = Array{Float64,3}(undef,0,0,0), dmatrixHsym::Array{Float64,3} = Array{Float64,3}(undef,0,0,0), dmatrixG::Array{Float64,3} = Array{Float64,3}(undef,0,0,0), cfspec::Any = 0.1,flatten::Any = 1)
Select the best basis from several matrices of expansion coefficientsInput Arguments
dmatrixH: the matrix of HGLET expansion coefficients ==> eigenvectors of LdmatrixHrw: the matrix of HGLET expansion coefficients ==> eigenvectors of LrwdmatrixHsym: the matrix of HGLET expansion coefficients ==> eigenvectors of LsymdmatrixG: the matrix of GHWT expansion coefficientsGP: a GraphPart objectcfspec: the cost functional specification to be used: see utils.jl for the detail. If it's a number, say, p, then the l^p norm is used. If it's a function, then that function is used. Default is 0.1, i.e., l^0.1flatten: the method for flattening vector-valued data to scalar-valued data; If it's a number, say, p, then the sum of the l^p norm is computed. There are many other options, such as :ash, :entropy, etc. See utils.jl for the detail. Default is 1, i.e, the sum of the l^1 norm of the coefs.
Output Argument
dvec: the vector of expansion coefficients corresponding to the bestbasisBS: a BasisSpec object which specifies the best basistrans: specifies which transform was used for that portion of the signal: 00 = HGLET with L 01 = HGLET with Lrw 10 = HGLET with Lsym 11 = GHWT
MultiscaleGraphSignalTransforms.HGLET.HGLET_GHWT_BestBasis_minrelerror — Methodfunction HGLETGHWTBestBasis_minrelerror(GP::GraphPart, G::GraphSig; dmatrixH::Array{Float64,3} = Array{Float64,3}(undef,0,0,0), dmatrixHrw::Array{Float64,3} = Array{Float64,3}(undef,0,0,0), dmatrixHsym::Array{Float64,3} = Array{Float64,3}(undef,0,0,0), dmatrixG::Array{Float64,3} = Array{Float64,3}(undef,0,0,0), compare::Bool = true)
Find the best basis for approximating the signal 'G' by performing the
best basis search with a range of tau-measures as cost functionals
(tau = 0.1,0.2,...,1.9) and minimizing the relative error.Input argument:
dmatrixH: the matrix of HGLET expansion coefficients ==> eigenvectors of LdmatrixHrw: the matrix of HGLET expansion coefficients ==> eigenvectors of LrwdmatrixHsym: the matrix of HGLET expansion coefficients ==> eigenvectors of LsymdmatrixG: the matrix of GHWT expansion coefficientsGP: a GraphPart objectG: the GraphSig objectcompare: if it is false, don't compare the hybrid best basis to the GHWT fine-to-coarse best basis
Output argument:
dvec: the vector of expansion coefficients corresponding to the bestbasisBS: a BasisSpec object which specifies the best basistrans: specifies which transform was used for that portion of the signal 00 = HGLET with L 01 = HGLET with Lrw 10 = HGLET with Lsym 11 = GHWTtau: the tau that yields the smallest relative error
MultiscaleGraphSignalTransforms.HGLET.HGLET_GHWT_Synthesis — Methodfunction HGLETGHWTSynthesis(dvec::Matrix{Float64},GP::GraphPart,BS::BasisSpec,trans::Array{Bool,2},G::GraphSig)
Given a vector of HGLET & GHWT expansion coefficients, info about the
graph partitioning, and the choice of basis and corresponding transforms,
reconstruct the signal.Input Arguments
dvec: the expansion coefficients corresponding to the chosen basisGP: a GraphPart objectBS: a BasisSpec objecttrans: a specification of the transforms used for the HGLET-GHWT hybrid transform 00 = HGLET with L 01 = HGLET with Lrw 10 = HGLET with Lsym 11 = GHWTG: a GraphSig object
Output Argument
f: the reconstructed signalGS: the reconstructed GraphSig object
MultiscaleGraphSignalTransforms.HGLET.HGLET_Synthesis — Methodfunction HGLET_Synthesis(dvec::Vector{Float64}, GP::GraphPart, BS::BasisSpec, G::GraphSig; gltype::Symbol = :L)
Input Arguments
dvec: the expansion coefficients corresponding to the chosen basisGP: a GraphPart objectBS: a BasisSpec objectG: a GraphSig objectgltype: :L, :Lrw, or :Lsym, indicating which eigenvectors are used
Output Argument
f: the reconstructed signalGS: the reconstructed GraphSig object
MultiscaleGraphSignalTransforms.HGLET.HGLET_jkl — Methodfunction HGLET_jkl(GP::GraphPart, drow::Int, dcol::Int)
Generate the (j,k,l) indices for the HGLET basis vector corresponding to
the coefficient dmatrix(drow,dcol)Input Arguments
GP: a GraphPart objectdrow: the row of the expansion coefficientdcol: the column of the expansion coefficient
Output Argument
j: the level index of the expansion coefficientk: the subregion index of the expansion coefficientl: the eigenvector index of the expansion coefficient
MultiscaleGraphSignalTransforms.HGLET_dictionary — MethodHGLET_dictionary(GP::GraphPart, G::GraphSig; gltype::Symbol = :L)assemble the whole HGLET dictionary
Input Arguments
GP: a GraphPart objectG: a GraphSig objectgltype::Lor:Lsym
Output Argument
dictionary: the HGLET dictionary
MultiscaleGraphSignalTransforms.LPHGLET_Analysis_All — Methodfunction LPHGLET_Analysis_All(G::GraphSig, GP::GraphPart; ϵ::Float64 = 0.3)For a GraphSig object 'G', generate the 2 matrices of Lapped-HGLET expansion coefficients corresponding to the eigenvectors of L and Lsym
Input Arguments
G: a GraphSig objectGP: a GraphPart objectϵ: relative action bandwidth (default: 0.3)
Output Argument
dmatrixlH: the matrix of expansion coefficients for LdmatrixlHsym: the matrix of expansion coefficients for LsymGP: a GraphPart object
MultiscaleGraphSignalTransforms.LPHGLET_Synthesis — Methodfunction LPHGLET_Synthesis(dvec::Vector{Float64}, GP::GraphPart, BS::BasisSpec, G::GraphSig; gltype::Symbol = :L, ϵ::Float64 = 0.3)Perform Lapped-HGLET Synthesis transform
Input Arguments
dvec: the expansion coefficients corresponding to the chosen basisGP: a GraphPart objectBS: a BasisSpec objectG: a GraphSig objectgltype: :L or :Lsym, indicating which eigenvectors are usedϵ: relative action bandwidth (default: 0.3)
Output Argument
f: the reconstructed signalGS: the reconstructed GraphSig object
MultiscaleGraphSignalTransforms.LPHGLET_dictionary — MethodLPHGLET_dictionary(GP::GraphPart, G::GraphSig; gltype::Symbol = :L, ϵ::Float64 = 0.3)assemble the whole LP-HGLET dictionary
Input Arguments
GP: a GraphPart objectG: a GraphSig objectgltype::Lor:Lsymϵ: relative action bandwidth (default: 0.3)
Output Argument
dictionary: the LP-HGLET dictionary