/** * Computes the variance of pixel intensity values inside the image. * * @param input Input image. Not modified. * @param mean Mean pixel intensity value. * @return Pixel variance */ public static <T extends ImageGray<T>> double variance(T input , double mean ) { if( GrayU8.class == input.getClass() ) { return ImageStatistics.variance((GrayU8)input,mean); } else if( GrayS8.class == input.getClass() ) { return ImageStatistics.variance((GrayS8)input,mean); } else if( GrayU16.class == input.getClass() ) { return ImageStatistics.variance((GrayU16)input,mean); } else if( GrayS16.class == input.getClass() ) { return ImageStatistics.variance((GrayS16)input,mean); } else if( GrayS32.class == input.getClass() ) { return ImageStatistics.variance((GrayS32)input,mean); } else if( GrayS64.class == input.getClass() ) { return ImageStatistics.variance((GrayS64)input,mean); } else if( GrayF32.class == input.getClass() ) { return ImageStatistics.variance((GrayF32)input,(float)mean); } else if( GrayF64.class == input.getClass() ) { return ImageStatistics.variance((GrayF64)input,mean); } else { throw new IllegalArgumentException("Unknown image Type"); } }