useDynLib(dti, .registration = TRUE, .fixes = "C_")

#exportPattern("^[^\\.]")

importFrom("grDevices", "col2rgb", "dev.off", "grey", "heat.colors",
           "png", "rainbow", "rgb")
importFrom("graphics", "plot", "axis", "contour", "identify", "legend",
           "lines", "par", "text", "title", "image")
importFrom("methods", "new", "slotNames", "show")
importFrom("parallel", "makeCluster", "parLapply", "stopCluster", "detectCores")
importFrom("stats", "IQR", "as.dist", "bw.nrd", "coef", "coefficients",
           "density", "dnorm", "lm", "median", "nls", "optim",
           "optimize", "qchisq", "qnorm", "quantile", "rchisq",
           "runif", "sd")
importFrom("utils", "data", "setTxtProgressBar", "txtProgressBar")
importFrom("awsMethods", "extract", "setCores")
importFrom("adimpro", "show.image", "make.image", "extract.image", "rimage")
importFrom("gsl", "ellint_RF", "ellint_RD", "legendre_sphPlm")
importFrom("oro.dicom", "readDICOMFile", "extractHeader")
importFrom("oro.nifti", "readAFNI", "readANALYZE", "nifti", "readNIfTI", "writeNIfTI")
importFrom("quadprog", "solve.QP")
importFrom("rgl", "rgl.triangles", "rgl.lines", "rgl.points", "open3d", "par3d",
          "rgl.bg", "rgl.cur", "bbox3d", "title3d")

export("AdjacencyMatrix")
export(dti.options)

exportClasses("dwi", "dtiData", "dtiTensor", "dtiIndices", "dwiQball",
              "dwiMixtensor", "dwiFiber", "dkiTensor", "dkiIndices")
exportMethods("show", "plot", "print", "summary", "dti.smooth", "dtiTensor",
              "dtiIndices", "dwiQball", "dwiMixtensor", "dwiMtCombine",
              "dwiRiceBias", "dkiTensor", "dkiIndices", "dwiMD")
exportMethods("extract", "show3d", "tracking", "selectFibers", "reduceFibers",
              "touchingFibers", "combineFibers", "getmask", "setmask", "sdpar",
              "getsdofsb", "dwi.smooth", "dwi.smooth.ms")
export(dtiData, readDWIdata, subsetg, combineDWIdata, awssigmc, awslsigmc, afsigmc,
       aflsigmc, dkiIndices, showFAColorScale, tensor2medinria, medinria2tensor)
