Image Processing Using CUDA: Designing an object oriented framework for CUDA based image processing