import(reportr)

exportClasses(SerialisableObject, MriImageMetadata, MriImage, DicomMetadata, SparseArray, SparseOrDenseArray)

S3method("[", MriImage)
S3method("[<-", MriImage)
S3method(Math, MriImage)
S3method(Ops, MriImage)
S3method(Summary, MriImage)
S3method(dim, MriImage)
S3method(as.array, MriImage)

S3method(dim, SparseArray)
S3method(as.array, SparseArray)

S3method(print, DicomMetadata)

export(nilObject)
export(is.nilObject)
export(isDeserialisable)
export(deserialiseReferenceObject)

export(equivalent)
export(implode)
export(printLabelledValues)
export(relativePath)
export(promote)
export(expandFileName)
export(ensureFileSuffix)

export(locateExecutable)
export(execute)

export(vectorLength)
export(vectorCrossProduct)
export(angleBetweenVectors)
export(resolveVector)

export(createNeighbourhoodInfo)

export(newSparseArrayWithData)

export(getDataTypeByNiftiCode)
export(newMriImageFromDicom)
export(newMriImageFromDicomDirectory)
export(newMriImageFromDicomMetadata)
export(newMriImageMetadataFromDicom)
export(newMriImageMetadataFromDicomMetadata)
export(newMriImageFromFile)
export(newMriImageMetadataFromFile)
export(writeMriImageToFile)
export(newMriImageMetadataFromTemplate)
export(newMriImageWithData)
export(newMriImageAsShapeOverlay)
export(newMriImageByExtraction)
export(newMriImageByMasking)
export(newMriImageByThresholding)
export(newMriImageByTrimming)
export(newMriImageFromTemplate)
export(newMriImageWithBinaryFunction)
export(newMriImageWithSimpleFunction)
export(newMriImageWithDataRepresentation)
export(generateImageDataForShape)
export(extractDataFromMriImage)

export(identifyImageFileNames)
export(imageFileExists)
export(removeImageFilesWithName)
export(copyImageFiles)
export(symlinkImageFiles)

export(sortDicomDirectory)
export(newDicomMetadataFromFile)

export(createCombinedGraphics)
export(createProjectionGraphic)
export(createSliceGraphic)
export(createContactSheetGraphic)
