My reasoning here is that you would normally only need the keypoint locations and its descriptors. The actual responses, orientations and scales are typically not of interest. If you really need them, you could call detect manually. We could return all the data but then you have 6 return values which makes the usage complicated.

What do you mean by a Keypoint class?