A Non-local Means Filter Image Denoising with Directional Enhancement Neighborhood Windows and Non-subsampled Shearlet Feature Descriptors: A Non-local Means Filter Image Denoising with Directional Enhancement Neighborhood Windows and Non-subsampled Shearlet Feature Descriptors