so3_sampling.h File Reference

#include "so3_types.h"

Go to the source code of this file.

Functions

complex double so3_sampling_weight (const so3_parameters_t *parameters, int p)
int so3_sampling_f_size (const so3_parameters_t *parameters)
int so3_sampling_n (const so3_parameters_t *parameters)
int so3_sampling_nalpha (const so3_parameters_t *parameters)
int so3_sampling_nbeta (const so3_parameters_t *parameters)
int so3_sampling_ngamma (const so3_parameters_t *parameters)
double so3_sampling_a2alpha (int a, const so3_parameters_t *parameters)
double so3_sampling_b2beta (int b, const so3_parameters_t *parameters)
double so3_sampling_g2gamma (int g, const so3_parameters_t *parameters)
int so3_sampling_flmn_size (const so3_parameters_t *parameters)
void so3_sampling_elmn2ind (int *ind, int el, int m, int n, const so3_parameters_t *parameters)
void so3_sampling_ind2elmn (int *el, int *m, int *n, int ind, const so3_parameters_t *parameters)
void so3_sampling_elmn2ind_real (int *ind, int el, int m, int n, const so3_parameters_t *parameters)
void so3_sampling_ind2elmn_real (int *el, int *m, int *n, int ind, const so3_parameters_t *parameters)

Function Documentation

double so3_sampling_a2alpha ( int  a,
const so3_parameters_t parameters 
)

Convert alpha index to angle for a given sampling scheme.

Note:
  • a ranges from [0 .. 2*L-2] => 2*L-1 points in [0,2*pi).
Parameters:
[in] a Alpha index.
[in] parameters A parameters object with (at least) the following fields: L, sampling_scheme
Return values:
alpha Alpha angle.
Author:
Martin Büttner
Jason McEwen

Definition at line 222 of file so3_sampling.c.

References so3_parameters_t::L, so3_parameters_t::sampling_scheme, SO3_ERROR_GENERIC, SO3_PI, SO3_SAMPLING_MW, and SO3_SAMPLING_MW_SS.

double so3_sampling_b2beta ( int  b,
const so3_parameters_t parameters 
)

Convert beta index to angle for a given sampling scheme.

Note:
  • b ranges from [0 .. 2*L-2] => 2*L-1 points in (0,2*pi).
Parameters:
[in] b Beta index.
[in] parameters A parameters object with (at least) the following fields: L, sampling_scheme
Return values:
beta Beta angle.
Author:
Martin Büttner
Jason McEwen

Definition at line 254 of file so3_sampling.c.

References so3_parameters_t::L, so3_parameters_t::sampling_scheme, SO3_ERROR_GENERIC, SO3_PI, SO3_SAMPLING_MW, and SO3_SAMPLING_MW_SS.

void so3_sampling_elmn2ind ( int *  ind,
int  el,
int  m,
int  n,
const so3_parameters_t parameters 
) [inline]

Convert (el,m,n) harmonic indices to 1D index used to access flmn array.

Note:
Index ranges are as follows:
  • el ranges from [0 .. L-1].
  • m ranges from [-el .. el].
  • n ranges from [-el' .. el'], where el' = min{el, N}
  • ind ranges from [0 .. (2*N)(L**2-N(N-1)/3)-1] for compact storage methods and from [0 .. (2*N-1)*L**2-1] for 0-padded storage methods.
Parameters:
[out] ind 1D index to access flmn array.
[in] el Harmonic index.
[in] m Azimuthal harmonic index.
[in] n Orientational harmonic index.
[in] parameters A parameters object with (at least) the following fields: L, N, storage, n_order
The reality flag is ignored. Use so3_sampling_elmn2ind_real instead.
Return values:
none 
Author:
Martin Büttner
Jason McEwen

Definition at line 367 of file so3_sampling.c.

References so3_parameters_t::L, so3_parameters_t::N, so3_parameters_t::n_order, SO3_ERROR_GENERIC, SO3_N_ORDER_NEGATIVE_FIRST, SO3_N_ORDER_ZERO_FIRST, SO3_STORAGE_COMPACT, SO3_STORAGE_PADDED, and so3_parameters_t::storage.

Referenced by so3_core_forward_direct(), so3_core_forward_via_ssht(), so3_core_inverse_direct(), so3_core_inverse_via_ssht(), so3_sampling_elmn2ind_real(), so3_sampling_ind2elmn_real(), and so3_test_gen_flmn_complex().

void so3_sampling_elmn2ind_real ( int *  ind,
int  el,
int  m,
int  n,
const so3_parameters_t parameters 
) [inline]

Convert (el,m,n) harmonic indices to 1D index used to access flmn array for a real signal.

Note:
Index ranges are as follows:
  • el ranges from [0 .. L-1].
  • m ranges from [-el .. el].
  • n ranges from [0 .. el'], where el' = min{el, N}
  • ind ranges from [0 .. N*(L*L-(N-1)*(2*N-1)/6)-1] for compact storage methods and from [0 .. N*L*L-1] for 0-padded storage methods.
Parameters:
[out] ind 1D index to access flmn array.
[in] el Harmonic index
[in] m Azimuthal harmonic index.
[in] n Orientational harmonic index.
[in] parameters A parameters object with (at least) the following fields: L, N, storage
The reality flag is ignored. Use so3_sampling_elmn2ind instead.
Return values:
none 
Author:
Martin Büttner
Jason McEwen

Definition at line 569 of file so3_sampling.c.

References so3_parameters_t::n_order, SO3_ERROR_GENERIC, SO3_N_ORDER_NEGATIVE_FIRST, so3_sampling_elmn2ind(), SO3_STORAGE_COMPACT, SO3_STORAGE_PADDED, and so3_parameters_t::storage.

Referenced by so3_core_forward_direct_real(), so3_core_forward_via_ssht_real(), so3_core_inverse_direct_real(), so3_core_inverse_via_ssht_real(), and so3_test_gen_flmn_real().

int so3_sampling_f_size ( const so3_parameters_t parameters  ) 

Compute size of the signal buffer f to be passed to the forward and returned from the inverse transform function for a given sampling scheme.

Note:
Computes number of samples on rotation group, *not* over extended domain.
This includes degenerate samples on the poles which are the same for each value of phi. To get the logical number of samples (i.e. ignoring without degeneracy) use so3_sampling_n, instead.
Parameters:
[in] parameters A parameters object with (at least) the following fields: L, N, sampling_scheme
Return values:
n Number of samples stored in the signal buffers.
Author:
Martin Büttner
Jason McEwen

Definition at line 78 of file so3_sampling.c.

References so3_parameters_t::L, so3_parameters_t::N, so3_sampling_nalpha(), so3_sampling_nbeta(), and so3_sampling_ngamma().

int so3_sampling_flmn_size ( const so3_parameters_t parameters  )  [inline]

Get storage size of flmn array for different storage methods.

Parameters:
[in] parameters A parameters object with (at least) the following fields: L, N, storage, reality
Return values:
Number of coefficients to be stored.
Author:
Martin Büttner
Jason McEwen

Definition at line 314 of file so3_sampling.c.

References so3_parameters_t::L, so3_parameters_t::N, so3_parameters_t::reality, SO3_ERROR_GENERIC, SO3_STORAGE_COMPACT, SO3_STORAGE_PADDED, and so3_parameters_t::storage.

Referenced by main().

double so3_sampling_g2gamma ( int  g,
const so3_parameters_t parameters 
)

Convert gamma index to angle for a given sampling scheme.

Note:
  • g ranges from [0 .. 2*L-2] => 2*L-1 points in [0,2*pi).
Parameters:
[in] g Gamma index.
[in] parameters A parameters object with (at least) the following fields: N, sampling_scheme
Return values:
gamma Gamma angle.
Author:
Martin Büttner
Jason McEwen

Definition at line 286 of file so3_sampling.c.

References so3_parameters_t::N, SO3_PI, and so3_parameters_t::steerable.

void so3_sampling_ind2elmn ( int *  el,
int *  m,
int *  n,
int  ind,
const so3_parameters_t parameters 
) [inline]

Convert 1D index used to access flmn array to (el,m,n) harmonic indices.

Note:
Index ranges are as follows:
  • el ranges from [0 .. L-1].
  • m ranges from [-el .. el].
  • n ranges from [-el' .. el'], where el' = min{el, N}
  • ind ranges from [0 .. (2*N)(L**2-N(N-1)/3)-1] for compact storage methods and from [0 .. (2*N-1)*L**2-1] for 0-padded storage methods.
Parameters:
[out] el Harmonic index.
[out] m Azimuthal harmonic index.
[out] n Orientational harmonic index.
[in] ind 1D index to access flm array.
[in] parameters A parameters object with (at least) the following fields: L, N, storage
The reality flag is ignored. Use so3_sampling_ind2elmn_real instead.
Return values:
none 
Author:
Martin Büttner
Jason McEwen

Definition at line 453 of file so3_sampling.c.

References so3_parameters_t::L, so3_parameters_t::N, so3_parameters_t::n_order, SO3_ERROR_GENERIC, SO3_N_ORDER_NEGATIVE_FIRST, SO3_N_ORDER_ZERO_FIRST, SO3_STORAGE_COMPACT, SO3_STORAGE_PADDED, and so3_parameters_t::storage.

Referenced by so3_sampling_ind2elmn_real().

void so3_sampling_ind2elmn_real ( int *  el,
int *  m,
int *  n,
int  ind,
const so3_parameters_t parameters 
) [inline]

Convert 1D index used to access flmn array to (el,m,n) harmonic indices for a real signal.

Note:
Index ranges are as follows:
  • el ranges from [0 .. L-1].
  • m ranges from [-el .. el].
  • n ranges from [0 .. el'], where el' = min{el, N}
  • ind ranges from [0 .. N*(L*L-(N-1)*(2*N-1)/6)-1] for compact storage methods and from [0 .. N*L*L-1] for 0-padded storage methods.
Parameters:
[out] el Harmonic index.
[out] m Azimuthal harmonic index.
[out] n Orientational harmonic index.
[in] ind 1D index to access flm array.
[in] parameters A parameters object with (at least) the following fields: L, N, storage
The reality flag is ignored. Use so3_sampling_ind2elmn instead.
Return values:
none 
Author:
Martin Büttner
Jason McEwen

Definition at line 624 of file so3_sampling.c.

References so3_parameters_t::n_order, SO3_ERROR_GENERIC, SO3_N_ORDER_NEGATIVE_FIRST, so3_sampling_elmn2ind(), so3_sampling_ind2elmn(), SO3_STORAGE_COMPACT, SO3_STORAGE_PADDED, and so3_parameters_t::storage.

int so3_sampling_n ( const so3_parameters_t parameters  ) 

Compute total number of samples for a given sampling scheme.

Note:
Computes number of samples on rotation group, *not* over extended domain.
This returns the logical number of samples (without degeneracy), and *not* the size of the signal buffer used in the transform functions. Use so3_sampling_f_size to get the actual size of the signal buffer.
Parameters:
[in] parameters A parameters object with (at least) the following fields: L, N, sampling_scheme
Return values:
n Number of samples.
Author:
Martin Büttner
Jason McEwen

Definition at line 110 of file so3_sampling.c.

References so3_parameters_t::L, so3_parameters_t::N, so3_parameters_t::sampling_scheme, SO3_ERROR_GENERIC, SO3_SAMPLING_MW, SO3_SAMPLING_MW_SS, and so3_sampling_ngamma().

int so3_sampling_nalpha ( const so3_parameters_t  ) 

Compute number of alpha samples for a given sampling scheme.

Parameters:
[in] parameters A parameters object with (at least) the following fields: L, sampling_scheme
Return values:
nalpha Number of alpha samples.
Author:
Martin Büttner
Jason McEwen

Definition at line 140 of file so3_sampling.c.

References so3_parameters_t::L, so3_parameters_t::sampling_scheme, SO3_ERROR_GENERIC, SO3_SAMPLING_MW, and SO3_SAMPLING_MW_SS.

Referenced by so3_sampling_f_size().

int so3_sampling_nbeta ( const so3_parameters_t  ) 

Compute number of beta samples for a given sampling scheme.

Note:
Computes number of samples in (0,pi], *not* over extended domain.
Parameters:
[in] parameters A parameters object with (at least) the following fields: L, sampling_scheme
Return values:
nbeta Number of beta samples.
Author:
Martin Büttner
Jason McEwen

Definition at line 171 of file so3_sampling.c.

References so3_parameters_t::L, so3_parameters_t::sampling_scheme, SO3_ERROR_GENERIC, SO3_SAMPLING_MW, and SO3_SAMPLING_MW_SS.

Referenced by so3_sampling_f_size().

int so3_sampling_ngamma ( const so3_parameters_t  ) 

Compute number of gamma samples for a given sampling scheme.

Parameters:
[in] parameters A parameters object with (at least) the following fields: B, sampling_scheme
Return values:
ngamma Number of gamma samples.
Author:
Martin Büttner
Jason McEwen

Definition at line 195 of file so3_sampling.c.

References so3_parameters_t::N, and so3_parameters_t::steerable.

Referenced by so3_sampling_f_size(), and so3_sampling_n().

complex double so3_sampling_weight ( const so3_parameters_t parameters,
int  p 
)

Compute conjugate weights for toroidal extension.

Parameters:
[in] parameters A parameters object with (at least) sampling_scheme
[in] p Integer index to compute weight for.
Return values:
Corresponding conjugate weight.
Author:
Jason McEwen

Definition at line 30 of file so3_sampling.c.

References so3_parameters_t::sampling_scheme, SO3_ERROR_GENERIC, SO3_SAMPLING_MW, and SO3_SAMPLING_MW_SS.

Referenced by so3_core_forward_direct(), and so3_core_forward_direct_real().


Generated on 10 Nov 2016 by  doxygen 1.6.1