#$ #$=head1 NAME #$ #$mshconest - convolution using multi-scale helix filters, adjoint is filter #$ #$=head1 SYNOPSIS #$ #$Initializer - C #$ #$Operator - C #$ #$=head1 PARAMETERS #$ #$=over 4 #$ #$=item x - C #$ #$ data #$ #$=item aa - type(msfilter) #$ #$ helix filter to perform convolution with #$ #$=item adj,add,xx,yy - #$ #$ standard operators parameters #$ #$=back #$ #$=head1 DESCRIPTION #$ #$ Masked multi-scale helix convolution, adjoint is the filter #$ #$=head1 SEE ALSO #$ #$L,L,L,L #$ #$=head1 LIBRARY #$ #$B #$ #$=cut module mshconest { # multi-scale helix convolution, adjoint is the filter. use mshelix use hconest integer, private :: nx, ns real, dimension(:), pointer :: x type( msfilter) :: msaa #% _init( x, msaa) nx = size( x); ns = size( msaa%lag, 2) #% _lop( a(:), y(nx,ns)) integer is, stat1 do is = 1, ns { call hconest_init( x, onescale (is, msaa)) stat1 = hconest_lop( adj, .true., a, y(:,is)) } }