useDynLib(EBImage)

importFrom("methods", "Ops")
importFrom("methods", "show")
importFrom("graphics", "image")
importFrom("graphics", "hist")
importFrom("stats", "median")

## classes
exportClasses(Image)

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

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

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

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

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

## image enhancement, filtering
export(normalize)
export(filter2)
export(blur, gblur)
export(equalize)
        
## morphological operations
export(makeBrush)
export(erode, dilate, opening, closing)
export(distmap)
export(floodFill, fillHull)

## colorspace
export(rgbImage, channel)

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

## drawables
export(drawfont, drawtext)

## features extraction
export(getFeatures, hullFeatures, edgeProfile, edgeFeatures)
export(moments, cmoments, smoments, rmoments)
export(haralickMatrix, haralickFeatures, zernikeMoments)

## deprecated
export(frameDist, matchObjects)
export(stopIfNotImage)
export(morphKern, mkbox, mkball)
export(header, assert)
export(chooseImage)
export(resample, sharpen, umask, modulate)
export(negate, affinet, normalize2, noise)
export(mediansmooth, cgamma, enhance, denoise)
export(contrast, despeckle, edge, segment)
export(cthresh, athresh)
export(channelMix)
