def sobel( direction )
      ( dimension - 1 ).downto( 0 ).inject self do |retval,i|
        filter = i == direction ? Hornetseye::Sequence(SINT)[1, 0, -1] :
                                  Hornetseye::Sequence(SINT)[1, 2,  1]
        Hornetseye::lazy { retval.convolve filter }
      end.force
    end
def sobel( direction )
      ( dimension - 1 ).downto( 0 ).inject self do |retval,i|
        filter = i == direction ? Hornetseye::Sequence(SINT)[1, 0, -1] :
                                  Hornetseye::Sequence(SINT)[1, 2,  1]
        Hornetseye::lazy { retval.convolve filter }
      end.force
    end
Sobel operator

 @param [Integer] direction Orientation of Sobel filter.

 @return [Node] Result of Sobel operator.