import(flowCore)
import(flowViz)
import(flowWorkspace)


importClassesFrom(methods, character, list, numeric)

importMethodsFrom(Biobase, channel)

importMethodsFrom(BiocGenerics, cbind, colnames, lapply, mapply, order,
                  paste, pmax, pmin, rbind, rownames, sapply, setdiff,
                  table, unique)


importFrom("grDevices", "colorRampPalette")
importFrom("grDevices", "devAskNewPage")
importFrom("utils", "read.csv")
importFrom("methods", "callNextMethod")
importFrom("stats", "IQR", "fft", "pchisq", "pnorm", "predict",
             "qchisq")
importFrom("cluster", "diana")
importFrom(Biobase, listLen)
importFrom("ncdfFlow","updateIndices")
importFrom("ncdfFlow","clone.ncdfFlowSet")
importFrom(KernSmooth, bkde2D)
importFrom("rrcov", "CovMcd")

importFrom(MASS, huber, hubers, rlm, cov.rob)

importFrom(ks, binning)

importFrom(fda, Data2fd, create.bspline.basis, eval.fd, fdPar,fd,int2Lfd,vec2Lfd,norder,
           landmarkreg,norder.bspline)


importFrom(grDevices, chull, col2rgb, contourLines, dev.cur, dev.off,
           png, rainbow, rgb, x11)

importFrom(graphics, abline, legend, lines, par, points, polygon,
           rect, text)
importFrom(grDevices, dev.new)
importFrom(lattice, make.groups, panel.abline, panel.number,
           panel.points, panel.polygon, panel.segments,
           panel.stripplot, panel.text, stripplot, trellis.focus,
           trellis.par.get, trellis.unfocus, which.packet)
importFrom(methods,  as, is, new, selectMethod)

importFrom(RColorBrewer, brewer.pal)

importFrom(stats, anova, approxfun, as.formula, as.hclust, chisq.test,
           density, dnorm, fitted, formula, kmeans, mad, median,
           na.omit, optimize, qnorm, quantile, resid, sd, var, dist)

importFrom(utils, capture.output)
S3method(warpSet,GatingSet)
S3method(warpSet,flowSet)
S3method(warpSet,ncdfFlowSet)
S3method(warpSet,cytoset)
export("lymphGate",
       "norm2Filter",
       "curv1Filter",
       "curv2Filter",
       "curvPeaks",
       "oneDGate",
       "quadrantGate",
       "rangeGate",
       "rangeFilter",
       "warpSet",
	"proBin",
       "binByRef",
       "gaussNorm",
       "plotBins",
       "calcPearsonChi",
       "calcPBChiSquare",
       "gpaSet",
       "iProcrustes",
       "normQA",
       "singletGate",
       "overton_like",
       "gate_singlet",
       "spillover_ng",
       "spillover_match"
       )

exportClasses("lymphFilter","rangeFilter","curv1Filter", 
              "curv2Filter", "norm2Filter")

exportMethods("normalize", "spillover", "spillover_match", "spillover_ng")


exportMethods("%in%")

