useDynLib("EBImage")

importFrom("BiocGenerics", "normalize", "combine")
importFrom("methods", "Ops", "show", "new", "validObject", "is")
importFrom("graphics", "image", "hist")
importFrom("stats", "median")
importFrom("abind", "abind", "asub")
importFrom("locfit", "lp", "locfit")
importFrom("tiff", "readTIFF", "writeTIFF")
importFrom("jpeg", "readJPEG", "writeJPEG")
importFrom("png", "readPNG", "writePNG")

## classes
exportClasses(Image)

## image class, accessors
export(Image, is.Image, as.Image, print.Image, as.raster.Image)
export(Grayscale, Color)
exportMethods(Ops, "[")
export(colorMode, "colorMode<-", imageData, "imageData<-")
export(getFrame, getNumberOfFrames)

## image IO, display
exportMethods("show")
export(readImage, writeImage)
export(display)

## spatial transform
export(resize, rotate)
export(flip, flop)
export(translate)
export(affine)
export(transpose)

## image segmentation, objects manipulation
export(thresh, bwlabel)
export(watershed, propagate)
export(ocontour)
export(paintObjects, rmObjects, reenumerate, colorLabels)

## statistics
export(median.Image, quantile.Image)
exportMethods(hist)

## image enhancement, filtering
export(filter2)
export(gblur)
export(medianFilter)

## morphological operations
export(makeBrush)
export(erode, dilate, opening, closing, erodeGreyScale, dilateGreyScale, openingGreyScale, closingGreyScale, whiteTopHatGreyScale, blackTopHatGreyScale, selfcomplementaryTopHatGreyScale)
export(distmap)
export(floodFill, fillHull)

## colorspace
export(rgbImage, channel, toRGB)

## image stacking, tiling
export(stackObjects)
export(tile, untile)

## drawables
export(drawCircle)

## features extraction
export(computeFeatures)
export(computeFeatures.basic, computeFeatures.shape, computeFeatures.moment, computeFeatures.haralick)
export(standardExpandRef)
export(localCurvature)

## defunct
export(blur, equalize)
export(drawtext, drawfont)
export(getFeatures, hullFeatures, zernikeMoments)
export(edgeProfile, edgeFeatures)
export(haralickFeatures, haralickMatrix)
export(moments, cmoments, smoments, rmoments)

## methods extending S4 generics from the BiocGenerics package
exportMethods(normalize, combine)
