In order to preserve an edge in demosaicking, four directional high-order interpolants of the missing color value are determined in four different directions. A nonlinear weight is then assigned to each interpolant, so that the weights for the interpolants are more extreme on different sides of an edge in order to reduce the influence of the interpolants on the opposite side of an edge while increasing the influence on the same side of the edge. In this way, errors due to interpolation across an edge can be reduced. When there is no edge, more evenly weights are assigned to the interpolants to produce a more accurate output by smoothing noise. In this paper, we propose a method to produce nonlinear weights for interpolants for various edge transitions in order to minimize color artifacts. It has been shown that our proposed algorithm outperforms the other state-of-the-art algorithms both quantitatively and visually with the minimum amount of color artifacts.