public static void decomposition(Image inputImg,Image coarseImg,Image horizontalImg,Image verticalImg,Image diagonalImg,Filter filterG,Filter filterH,int method){
  Image tempImg=null;
  tempImg=new Image(coarseImg.getWidth(),inputImg.getHeight());
  convoluteLines(tempImg,inputImg,filterH,method);
  convoluteRows(coarseImg,tempImg,filterH,method);
  convoluteRows(horizontalImg,tempImg,filterG,method);
  tempImg=new Image(verticalImg.getWidth(),inputImg.getHeight());
  convoluteLines(tempImg,inputImg,filterG,method);
  convoluteRows(verticalImg,tempImg,filterH,method);
  convoluteRows(diagonalImg,tempImg,filterG,method);
}

public static void decomposition ( Image inputImg , Image coarseImg , Image horizontalImg , Image verticalImg , Image diagonalImg , Filter filterG , Filter filterH , int method ) { Image tempImg = null ; tempImg = new Image ( coarseImg . getWidth ( ) , inputImg . getHeight ( ) ) ; convoluteLines ( tempImg , inputImg , filterH , method ) ; convoluteRows ( coarseImg , tempImg , filterH , method ) ; convoluteRows ( horizontalImg , tempImg , filterG , method ) ; tempImg = new Image ( verticalImg . getWidth ( ) , inputImg . getHeight ( ) ) ; convoluteLines ( tempImg , inputImg , filterG , method ) ; convoluteRows ( verticalImg , tempImg , filterH , method ) ; convoluteRows ( diagonalImg , tempImg , filterG , method ) ; }
method to decompose the image
