adding more options to the convolution class, lower dimensional filters across high dimensional images now supported for certain axes