public double[][] ImageSetDWT_Byte(int _numCoeffcient, int _y, int _x)
    {

        //transfer This byte to arraylist
        double[][] _doubleByte = new double[this.height][this.width];
        for(int j=0;j<this.height;j++) {
            for (int i = _x; i < this.width; i++) {
                _doubleByte[j][i] = this.bytes[j+_y][i];
            }
        }

        DWT _dwt = new DWT();

        ArrayList<Double> _zigzag = _dwt.DwtZigzag(_doubleByte, this.height, 0, 0, 512*512);

        ArrayList<Double> _fdwt = _dwt.FDWT(_zigzag);

        //Fill other space with 0 to match the origin size of picture.
        for(int i=_numCoeffcient; i<_fdwt.size();i++)
        {
            _fdwt.set(i,0.0);
        }

        //IDWT transfer
        ArrayList<Double> _idwt =_dwt.IDWT(_fdwt);

        return _dwt.IDwtZigzag(_idwt, 512, 0);

    }