Are all of the edge descriptors necessary to differentiate edges?
You can calculate the edge direction from the edge normal by atan2(y,x)link.
The other descriptors are independent of each other and thus only the problem itself can tell if they are necessary or not.