Home > src > main > matlab > s2let_transform_axisym_analysis_mw.m

s2let_transform_axisym_analysis_mw

PURPOSE ^

s2let_transform_axisym_analysis_mw

SYNOPSIS ^

function [f_wav, f_scal] = s2let_transform_axisym_analysis_mw(f, varargin)

DESCRIPTION ^

 s2let_transform_axisym_analysis_mw
 Compute axisymmetric wavelet transform, output in pixel space.

 Default usage :

   [f_wav, f_scal] = s2let_transform_axisym_analysis_mw(f, <options>)

 f is the input field -- MW sampling,
 f_wav contains the output wavelet contributions,
 f_scal contains the output scaling contributions,

 Option :
  'B'               = { Dilation factor; B > 1 (default=2) }
  'L'               = { Harmonic band-limit; L > 1 (default=guessed from input) }
  'J_min'           = { Minimum wavelet scale to consider;
                        0 <= J_min < log_B(L) (default=0) }
  'Upsample'      = { false        [multiresolution algorithm (default)],
                      true       [full resolution wavelets] }
  'Reality'         = { false        [do not assume f real (default)],
                        true         [assume f real (improves performance)] }

 S2LET package to perform Wavelets transform on the Sphere.
 Copyright (C) 2012-2015  Boris Leistedt & Jason McEwen
 See LICENSE.txt for license details

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [f_wav, f_scal] = s2let_transform_axisym_analysis_mw(f, varargin)
0002 
0003 % s2let_transform_axisym_analysis_mw
0004 % Compute axisymmetric wavelet transform, output in pixel space.
0005 %
0006 % Default usage :
0007 %
0008 %   [f_wav, f_scal] = s2let_transform_axisym_analysis_mw(f, <options>)
0009 %
0010 % f is the input field -- MW sampling,
0011 % f_wav contains the output wavelet contributions,
0012 % f_scal contains the output scaling contributions,
0013 %
0014 % Option :
0015 %  'B'               = { Dilation factor; B > 1 (default=2) }
0016 %  'L'               = { Harmonic band-limit; L > 1 (default=guessed from input) }
0017 %  'J_min'           = { Minimum wavelet scale to consider;
0018 %                        0 <= J_min < log_B(L) (default=0) }
0019 %  'Upsample'      = { false        [multiresolution algorithm (default)],
0020 %                      true       [full resolution wavelets] }
0021 %  'Reality'         = { false        [do not assume f real (default)],
0022 %                        true         [assume f real (improves performance)] }
0023 %
0024 % S2LET package to perform Wavelets transform on the Sphere.
0025 % Copyright (C) 2012-2015  Boris Leistedt & Jason McEwen
0026 % See LICENSE.txt for license details
0027 
0028 sz = size(f);
0029 Lguessed = min([sz(1) sz(2)]);
0030 
0031 p = inputParser;
0032 p.addRequired('f', @isnumeric);
0033 p.addParamValue('B', 2, @isnumeric);
0034 p.addParamValue('L', Lguessed, @isnumeric);
0035 p.addParamValue('J_min', 0, @isnumeric);
0036 p.addParamValue('Upsample', false, @islogical);
0037 p.addParamValue('Reality', false, @islogical);
0038 p.parse(f, varargin{:});
0039 args = p.Results;
0040 
0041 f_vec = s2let_mw_arr2vec(f);
0042 
0043 [f_wav_vec, f_scal_vec] = s2let_transform_axisym_analysis_mw_mex(f_vec, args.B, args.L, args.J_min, args.Reality, args.Upsample);
0044 
0045 f_scal = s2let_mw_vec2arr(f_scal_vec);
0046 
0047 J = s2let_jmax(args.L, args.B);
0048 f_wav = cell(J+1-args.J_min, 1);
0049 offset = 0;
0050 for j = args.J_min:J
0051   if args.Upsample
0052     band_limit = args.L;
0053   else
0054     band_limit = min([ s2let_bandlimit(j,args.J_min,args.B,args.L) args.L ]);
0055   end
0056   temp = zeros(band_limit, 2*band_limit-1);
0057   for t = 0:band_limit-1
0058       for p = 0:2*band_limit-2
0059           ind = offset + t * ( 2 * band_limit - 1) + p + 1;
0060           temp(t+1,p+1) = f_wav_vec(1,ind);
0061       end
0062   end
0063   f_wav{j+1-args.J_min} = temp;
0064   offset = offset + band_limit * (2*band_limit-1);
0065 end

Generated on Fri 11-Nov-2016 11:50:36 by m2html © 2005