code: public static<T extends ImageGray<T>>
  	void histogram(Planar<T> image , Histogram_F64 histogram ) {
  		if (image.getNumBands() != histogram.getDimensions())
  			throw new IllegalArgumentException("Number of bands in the image and histogram must be the same");
  
  		if( image.getBandType() == GrayU8.class ) {
  			HistogramFeatureOps.histogram_U8((Planar<GrayU8>)image, histogram);
  		} else if( image.getBandType() == GrayF32.class ) {
  			HistogramFeatureOps.histogram_F32((Planar<GrayF32>)image, histogram);
  		} else {
  			throw new IllegalArgumentException("Umage type not yet supportd");
  		}
  	}
docs: Computes a joint histogram for a planar image.  Since it's a joint distribution the histogram
  can become huge (and too sparse) if bin sizes are used that are too big.  Also consider computing the
  histogram independently in each band.
  
  @param image Input image. Not modified.
  @param histogram Output for the histogram.  Must be correctly configured first.