
OPUNPATCH(3LO)       Linop Reference Manual        OPUNPATCH(3LO)

NAME
     <type>opUnpatch - Operator to do weighted 2-D patching

SYNOPSIS
     #include <<type>opunpatch.h>

DESCRIPTION
     The <type>opUnpatch class  is  derived  from  <type>opPatch.
     Forward  takes a single space, wrapped in a <type>spacearray
     and   uses   <type>opOnepatch   to   convert   it    to    a
     <type>spacearray  of  smaller  spaces, whose number and size
     are specified in the constructor.  The spaces  are  weighted
     according  to their overlap.  The spacing of patches is such
     that the patches always end evenly at edges of the  original
     <type>space  and overlap is approximately even. If the input
     <type>spacearray contains more than  a  single  <type>space,
     only  the  (,)  <type>space  is patched and the others are
     ignored.   Adjoint  takes  a  <type>spacearray  of   patched
     <type>spaces,  weights  them  and returns a <type>spacearray
     containing a single <type>space.

     Forward uses the formula
          Patches=WindWeight*(<type>opPatch.Forward(WallWeight*space))
     Adjoint uses the formula
          space=WallWeight*(<type>opPatch.Adjoint(WindowWeight*Patches))

     WindowWeight is a weighting function that may be overwritten
     by derived classes and the WallWeight is calculated automat-
     ically.

     <type>opUnpatch is  intended  as  an  inverse  operator  for
     <type>opPatch.   Adjoint of the former is inverse to Forward
     of the latter and vice versa.

     3-D unpatching is carried out by opUnpatch3.

PUBLIC OPERATORS
     <type>opUnpatch(const <type>opPatch &)
          Construct   from   same   specifications    as    given
          <type>opPatch

     <type>opUnpatch(int numi,int numj,int sizei,
                     int sizej,const Axislist &)
          Construct from patch number and size specifications and
          Axislist of the single space.

     <type>spacearray Adjoint(const <type>spacearray &) const
     <type>spacearray Forward(const <type>spacearray &) const

PROTECTED OPERATORS
     virtual <type>spacearray MakeWindWt
                              (const <type>spacearray &) const

OPUNPATCH(3LO)       Linop Reference Manual        OPUNPATCH(3LO)

          Given a <type>spacearray with <type>spaces of the  same
          sizes  and  order  as  the  <type>spacearray of patches
          created by <type>opPatch, return a <type>spacearray  of
          <type>spaces  of  weights  to  match  each  patch.   By
          default, all weights are one.  This can be  overwritten
          by derived classes to change the weighting function.

PRIVATE OPERATORS
     <type>space MakeWallWt(const <type>spacearray &) const
     <type>spacearray makeFWWindWt() const

SEE ALSO
     <type>operator,       <type>opPatch,       <type>opOnepatch,
     <type>opUnpatch3, <type>opPatch3,

