/* Mask Library */


import java.awt.*;

final class MaskLib {
    
    final static double identityWeight = 1;
    final static int[][] identityMask = 
    { { 0, 0, 0, 0, 0 },
      { 0, 0, 0, 0, 0 },
      { 0, 0, 1, 0, 0 },
      { 0, 0, 0, 0, 0 },
      { 0, 0, 0, 0, 0 } };
    
    
    final static double firstDer0Weight = 1;
    final static int[][] firstDer0Mask = 
    { { 0, 0, 0, 0, 0 },
      { 0, 0, 0, 0, 0 },
      { 0,-1, 0, 1, 0 },
      { 0, 0, 0, 0, 0 },
      { 0, 0, 0, 0, 0 } };
    
    final static double firstDer90Weight = 1;
    final static int[][] firstDer90Mask = 
    { { 0, 0, 0, 0, 0 },
      { 0, 0, 1, 0, 0 },
      { 0, 0, 0, 0, 0 },
      { 0, 0,-1, 0, 0 },
      { 0, 0, 0, 0, 0 } };
   

    final static double firstDerWeight = 1;
    final static int[][] firstDerMask = 
    { { 0, 0, 0, 0, 0 },
      { 0, 0,-1, 0, 0 },
      { 0,-1, 4,-1, 0 },
      { 0, 0,-1, 0, 0 },
      { 0, 0, 0, 0, 0 } };

    
    final static double  secondDer0Weight = 1;
    final static int[][] secondDer0Mask = 
    { { 0, 0, 0, 0, 0 },
      { 0, 0, 0, 0, 0 },
      { 0, 1,-2, 1, 0 },
      { 0, 0, 0, 0, 0 },
      { 0, 0, 0, 0, 0 } };

    final static double  secondDer90Weight = 1;
    final static int[][] secondDer90Mask = 
    { { 0, 0, 0, 0, 0 },
      { 0, 0, 1, 0, 0 },
      { 0, 0,-2, 0, 0 },
      { 0, 0, 1, 0, 0 },
      { 0, 0, 0, 0, 0 } };  
    
    final static double  thirdDer0Weight = 1;
    final static int[][] thirdDer0Mask = 
    { { 0, 0, 0, 0, 0 },
      { 0, 0, 0, 0, 0 },
      {-1, 2, 0,-2, 1 },
      { 0, 0, 0, 0, 0 },
      { 0, 0, 0, 0, 0 } };

    final static double  thirdDer90Weight = 1;
    final static int[][] thirdDer90Mask = 
    { { 0, 0, 1, 0, 0 },
      { 0, 0,-2, 0, 0 },
      { 0, 0, 0, 0, 0 },
      { 0, 0, 2, 0, 0 },
      { 0, 0,-1, 0, 0 } }; 

    final static double  smoothWeight = 0.0625;  // 1/16
    final static int[][] smoothMask = 
    { { 0, 0, 0, 0, 0 },
      { 0, 1, 1, 1, 0 },
      { 0, 1, 8, 1, 0 },
      { 0, 1, 1, 1, 0 },
      { 0, 0, 0, 0, 0 } }; 

    final static double lowpass3x3Weight = 0.1111;  // 1/16
    final static int[][] lowpass3x3Mask = 
    { { 0, 0, 0, 0, 0 },
      { 0, 1, 1, 1, 0 },
      { 0, 1, 1, 1, 0 },
      { 0, 1, 1, 1, 0 },
      { 0, 0, 0, 0, 0 } }; 
    
    final static double lowpass5x5Weight = 0.04;  // 1/16
    final static int[][] lowpass5x5Mask = 
    { { 1, 1, 1, 1, 1 },
      { 1, 1, 1, 1, 1 },
      { 1, 1, 1, 1, 1 },
      { 1, 1, 1, 1, 1 },
      { 1, 1, 1, 1, 1 } }; 
    
    

}




