code: public static <T extends ImageGray<T>>
  	Planar<T> median(Planar<T> input, @Nullable Planar<T> output, int radius ,
  					 @Nullable WorkArrays work) {
  
  		if( output == null )
  			output = input.createNew(input.width,input.height);
  
  		for( int band = 0; band < input.getNumBands(); band++ ) {
  			GBlurImageOps.median(input.getBand(band),output.getBand(band),radius,work);
  		}
  		return output;
  	}
docs: Applies median filter to a {@link Planar}
  
  @param input Input image.  Not modified.
  @param output (Optional) Storage for output image, Can be null.  Modified.
  @param radius Radius of the median blur function.
  @param <T> Input image type.
  @return Output blurred image.