{
  "_id": "6a1ee021b401979e7341073a",
  "Package": "colordistance",
  "Title": "Distance Metrics for Image Color Similarity",
  "Date": "2021-03-19",
  "Version": "1.1.2",
  "Authors@R": "person(\"Hannah\", \"Weller\", email = \"hannahiweller@gmail.com\", role = c(\"aut\", \"cre\"))",
  "Description": "Loads and displays images, selectively masks specified\nbackground colors, bins pixels by color using either\ndata-dependent or automatically generated color bins,\nquantitatively measures color similarity among images using one\nof several distance metrics for comparing pixel color clusters,\nand clusters images by object color similarity. Uses CIELAB,\nRGB, or HSV color spaces. Originally written for use with\norganism coloration (reef fish color diversity, butterfly\nmimicry, etc), but easily applicable for any image set.",
  "License": "GPL-3",
  "Encoding": "UTF-8",
  "RoxygenNote": "7.2.3",
  "VignetteBuilder": "knitr",
  "Config/pak/sysreqs": "cmake make libicu-dev libjpeg-dev libpng-dev\nlibuv1-dev libssl-dev",
  "Repository": "https://hiweller.r-universe.dev",
  "Date/Publication": "2024-01-25 15:19:31 UTC",
  "RemoteUrl": "https://github.com/hiweller/colordistance",
  "RemoteRef": "HEAD",
  "RemoteSha": "e602b243c5065388317f182e6fe1fe1f3db9fde6",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-20 07:27:04 UTC",
    "User": "root"
  },
  "Author": "Hannah Weller [aut, cre]",
  "Maintainer": "Hannah Weller <hannahiweller@gmail.com>",
  "MD5sum": "d1334a7931da9b297d373e0fe6b0f063",
  "_user": "hiweller",
  "_type": "src",
  "_file": "colordistance_1.1.2.tar.gz",
  "_fileid": "109b9e74ca0c5d9e15462ffc32c4cdaa7e38b22b53d9275d2a531d54c35b2a98",
  "_filesize": 4406460,
  "_sha256": "109b9e74ca0c5d9e15462ffc32c4cdaa7e38b22b53d9275d2a531d54c35b2a98",
  "_created": "2026-05-20T07:27:04.000Z",
  "_published": "2026-06-02T13:52:33.577Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 79086645050,
      "time": 150,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "7103808538"
    },
    {
      "job": 79086645662,
      "time": 147,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "7103807792"
    },
    {
      "job": 79086646743,
      "time": 89,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "NOTE",
      "artifact": "7103789620"
    },
    {
      "job": 79086645570,
      "time": 99,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "7103792339"
    },
    {
      "job": 79086644646,
      "time": 208,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7103760637"
    },
    {
      "job": 79086644771,
      "time": 134,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7359643650"
    },
    {
      "job": 79086645501,
      "time": 97,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "7103792522"
    },
    {
      "job": 79086646486,
      "time": 100,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "NOTE",
      "artifact": "7103793030"
    },
    {
      "job": 79086646708,
      "time": 195,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "7103823450"
    }
  ],
  "_buildurl": "https://github.com/r-universe/hiweller/actions/runs/26147819969",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/hiweller/colordistance",
  "_commit": {
    "id": "e602b243c5065388317f182e6fe1fe1f3db9fde6",
    "author": "Weller <hannahwe@lm3-919-28655.local>",
    "committer": "Weller <hannahwe@lm3-919-28655.local>",
    "message": "Fixed bug causing error when levels were dropped during initial histogram binning.\n",
    "time": 1706195971
  },
  "_maintainer": {
    "name": "Hannah Weller",
    "email": "hannahiweller@gmail.com",
    "login": "hiweller",
    "description": "Marie-Curie postdoctoral research fellow at the University of Helsinki with the Integrative Evolutionary Biology Group.",
    "uuid": 12073558
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.4.0",
      "role": "Depends"
    },
    {
      "package": "jpeg",
      "role": "Imports"
    },
    {
      "package": "png",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "clue",
      "role": "Imports"
    },
    {
      "package": "ape",
      "role": "Imports"
    },
    {
      "package": "mgcv",
      "role": "Imports"
    },
    {
      "package": "emdist",
      "role": "Imports"
    },
    {
      "package": "scatterplot3d",
      "role": "Imports"
    },
    {
      "package": "plotly",
      "role": "Imports"
    },
    {
      "package": "gplots",
      "role": "Imports"
    },
    {
      "package": "abind",
      "role": "Imports"
    },
    {
      "package": "scales",
      "role": "Imports"
    },
    {
      "package": "spatstat.geom",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "role": "Suggests"
    }
  ],
  "_owner": "hiweller",
  "_selfowned": true,
  "_usedby": 2,
  "_updates": [],
  "_tags": [],
  "_stars": 38,
  "_contributors": [
    {
      "user": "hiweller",
      "count": 8,
      "uuid": 12073558
    }
  ],
  "_userbio": {
    "uuid": 12073558,
    "type": "user",
    "name": "Hannah Weller",
    "description": "Marie-Curie postdoctoral research fellow at the University of Helsinki with the Integrative Evolutionary Biology Group."
  },
  "_downloads": {
    "count": 360,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/colordistance"
  },
  "_mentions": 2,
  "_devurl": "https://github.com/hiweller/colordistance",
  "_searchresults": 85,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/colordistance.html",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/hiweller/colordistance",
  "_realowner": "hiweller",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.8.0",
      "date": "2017-06-03"
    },
    {
      "version": "1.0.0",
      "date": "2018-06-27"
    },
    {
      "version": "1.1.0",
      "date": "2019-01-12"
    },
    {
      "version": "1.1.1",
      "date": "2020-11-13"
    },
    {
      "version": "1.1.2",
      "date": "2021-03-20"
    }
  ],
  "_exports": [
    "combineClusters",
    "combineList",
    "convertColorSpace",
    "exportTree",
    "extractClusters",
    "getColorDistanceMatrix",
    "getHistList",
    "getImageHist",
    "getImagePaths",
    "getKMeanColors",
    "getKMeansList",
    "getLabHist",
    "getLabHistList",
    "heatmapColorDistance",
    "imageClusterPipeline",
    "loadImage",
    "plotClusters",
    "plotClustersMulti",
    "plotHist",
    "plotImage",
    "plotPixels",
    "removeBackground",
    "scatter3dclusters"
  ],
  "_help": [
    {
      "page": "chisqDistance",
      "title": "Chi-square distance between vectors",
      "topics": [
        "chisqDistance"
      ]
    },
    {
      "page": "colorDistance",
      "title": "Sum of Euclidean distances between color clusters",
      "topics": [
        "colorDistance"
      ]
    },
    {
      "page": "combineClusters",
      "title": "Average 3D color histograms by subdirectory",
      "topics": [
        "combineClusters"
      ]
    },
    {
      "page": "combineList",
      "title": "Combine a list of cluster features into a single cluster set",
      "topics": [
        "combineList"
      ]
    },
    {
      "page": "convertColorSpace",
      "title": "Convert between color spaces",
      "topics": [
        "convertColorSpace"
      ]
    },
    {
      "page": "EMDistance",
      "title": "Earth mover's distance between two sets of color clusters",
      "topics": [
        "EMDistance"
      ]
    },
    {
      "page": "exportTree",
      "title": "Export a distance matrix as a tree object",
      "topics": [
        "exportTree"
      ]
    },
    {
      "page": "extractClusters",
      "title": "Extract cluster values and sizes from kmeans fit objects",
      "topics": [
        "extractClusters"
      ]
    },
    {
      "page": "getColorDistanceMatrix",
      "title": "Distance matrix for a list of color cluster sets",
      "topics": [
        "getColorDistanceMatrix"
      ]
    },
    {
      "page": "getHistColors",
      "title": "Vector of hex colors for histogram bin coloration",
      "topics": [
        "getHistColors"
      ]
    },
    {
      "page": "getHistList",
      "title": "Generate a list of cluster sets for multiple images",
      "topics": [
        "getHistList"
      ]
    },
    {
      "page": "getImageHist",
      "title": "Generate a 3D histogram based on color distribution in an image",
      "topics": [
        "getImageHist"
      ]
    },
    {
      "page": "getImagePaths",
      "title": "Fetch paths to all valid images in a given directory",
      "topics": [
        "getImagePaths"
      ]
    },
    {
      "page": "getKMeanColors",
      "title": "Fit pixels to clusters using KMeans clustering",
      "topics": [
        "getKMeanColors"
      ]
    },
    {
      "page": "getKMeansList",
      "title": "Get KMeans clusters for every image in a set",
      "topics": [
        "getKMeansList"
      ]
    },
    {
      "page": "getLabHist",
      "title": "Generate a 3D histogram based on CIE Lab color coordinates in an image",
      "topics": [
        "getLabHist"
      ]
    },
    {
      "page": "getLabHistList",
      "title": "Generate a list of cluster sets in CIE Lab color space",
      "topics": [
        "getLabHistList"
      ]
    },
    {
      "page": "heatmapColorDistance",
      "title": "Plot a heatmap of a distance matrix",
      "topics": [
        "heatmapColorDistance"
      ]
    },
    {
      "page": "imageClusterPipeline",
      "title": "Generate and plot a color distance matrix from a set of images",
      "topics": [
        "imageClusterPipeline"
      ]
    },
    {
      "page": "loadImage",
      "title": "Import image and generate filtered 2D pixel array(s)",
      "topics": [
        "loadImage"
      ]
    },
    {
      "page": "normalizeRGB",
      "title": "Normalize pixel RGB ratios",
      "topics": [
        "normalizeRGB"
      ]
    },
    {
      "page": "orderClusters",
      "title": "Order color clusters to minimize overall color distance between pairs",
      "topics": [
        "orderClusters"
      ]
    },
    {
      "page": "pause",
      "title": "Pause and wait for user input",
      "topics": [
        "pause"
      ]
    },
    {
      "page": "plotClusters",
      "title": "Plot clusters in 3D color space",
      "topics": [
        "plotClusters"
      ]
    },
    {
      "page": "plotClustersMulti",
      "title": "Plot several different cluster sets together",
      "topics": [
        "plotClustersMulti"
      ]
    },
    {
      "page": "plotHist",
      "title": "Color histogram of binned image",
      "topics": [
        "plotHist"
      ]
    },
    {
      "page": "plotImage",
      "title": "Display an image in a plot window",
      "topics": [
        "plotImage"
      ]
    },
    {
      "page": "plotPixels",
      "title": "Plot pixels in color space",
      "topics": [
        "plotPixels"
      ]
    },
    {
      "page": "removeBackground",
      "title": "Remove background pixels in image",
      "topics": [
        "removeBackground"
      ]
    },
    {
      "page": "scatter3dclusters",
      "title": "Plot 3D clusters in a 2D plot",
      "topics": [
        "scatter3dclusters"
      ]
    },
    {
      "page": "weightedPairsDistance",
      "title": "Distance between color clusters with user-specified color/size weights",
      "topics": [
        "weightedPairsDistance"
      ]
    }
  ],
  "_readme": "https://github.com/hiweller/colordistance/raw/HEAD/README.md",
  "_rundeps": [
    "abind",
    "ape",
    "askpass",
    "base64enc",
    "bitops",
    "bslib",
    "cachem",
    "caTools",
    "cli",
    "clue",
    "cluster",
    "cpp11",
    "crosstalk",
    "curl",
    "data.table",
    "deldir",
    "digest",
    "dplyr",
    "emdist",
    "evaluate",
    "farver",
    "fastmap",
    "fontawesome",
    "fs",
    "generics",
    "ggplot2",
    "glue",
    "gplots",
    "gtable",
    "gtools",
    "highr",
    "htmltools",
    "htmlwidgets",
    "httr",
    "isoband",
    "jpeg",
    "jquerylib",
    "jsonlite",
    "KernSmooth",
    "knitr",
    "labeling",
    "later",
    "lattice",
    "lazyeval",
    "lifecycle",
    "magrittr",
    "Matrix",
    "memoise",
    "mgcv",
    "mime",
    "nlme",
    "openssl",
    "otel",
    "pillar",
    "pkgconfig",
    "plotly",
    "png",
    "polyclip",
    "promises",
    "purrr",
    "R6",
    "rappdirs",
    "RColorBrewer",
    "Rcpp",
    "rlang",
    "rmarkdown",
    "S7",
    "sass",
    "scales",
    "scatterplot3d",
    "spatstat.data",
    "spatstat.geom",
    "spatstat.univar",
    "spatstat.utils",
    "stringi",
    "stringr",
    "sys",
    "tibble",
    "tidyr",
    "tidyselect",
    "tinytex",
    "utf8",
    "vctrs",
    "viridisLite",
    "withr",
    "xfun",
    "yaml"
  ],
  "_vignettes": [
    {
      "source": "lab-analyses.Rmd",
      "filename": "lab-analyses.html",
      "title": "CIELab Analyses",
      "author": "Hannah Weller",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Choosing a reference white",
        "Converting from RGB to CIELab",
        "Clustering in CIELab space",
        "Distance matrices"
      ],
      "created": "2018-06-25 21:00:20",
      "modified": "2018-06-25 21:00:20",
      "commits": 1
    },
    {
      "source": "color-metrics.Rmd",
      "filename": "color-metrics.html",
      "title": "Color Distance Metrics",
      "author": "Hannah Weller",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Earth Mover's Distance",
        "$\\chi^{2}$ Distance",
        "Color Distance",
        "Weighted Pairs Distance",
        "Choosing a distance metric",
        "Cheatsheet"
      ],
      "created": "2017-05-16 21:57:48",
      "modified": "2020-11-13 17:33:58",
      "commits": 9
    },
    {
      "source": "color-spaces.Rmd",
      "filename": "color-spaces.html",
      "title": "Color Spaces",
      "author": "Hannah Weller",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Color spaces in colordistance",
        "RGB",
        "HSV",
        "CIELAB",
        "Why does the choice of color space matter?",
        "Choosing a color space for analysis",
        "Scientific merit",
        "Type of comparison",
        "Ease-of-use",
        "Further reading"
      ],
      "created": "2018-06-25 21:00:20",
      "modified": "2020-11-13 17:33:58",
      "commits": 3
    },
    {
      "source": "colordistance-introduction.Rmd",
      "filename": "colordistance-introduction.html",
      "title": "Introduction",
      "author": "Hannah Weller",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Acquiring and prepping images",
        "Loading the images into R",
        "Binning the pixels",
        "Comparing color histograms",
        "Visualizing results",
        "Exporting data",
        "Shortcut",
        "References"
      ],
      "created": "2017-05-17 18:57:43",
      "modified": "2020-10-26 21:59:33",
      "commits": 7
    },
    {
      "source": "binning-methods.Rmd",
      "filename": "binning-methods.html",
      "title": "Pixel Binning Methods",
      "author": "Hannah Weller",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Why binning?",
        "Note: any valid filepath will work; this line is specific to",
        "example data that comes with the package",
        "Histogram method",
        "K-means method",
        "Choosing a binning method & parameters",
        "Cheatsheet"
      ],
      "created": "2017-05-16 21:57:48",
      "modified": "2020-10-26 21:59:33",
      "commits": 9
    }
  ],
  "_score": 7.986323777050766,
  "_indexed": true,
  "_nocasepkg": "colordistance",
  "_universes": [
    "hiweller"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.1.2",
      "date": "2026-05-20T07:29:29.000Z",
      "distro": "noble",
      "commit": "e602b243c5065388317f182e6fe1fe1f3db9fde6",
      "fileid": "016449d90fcaa498279726d68567cd97fdca2388566ca251f6583353ca57779d",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/hiweller/actions/runs/26147819969"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.1.2",
      "date": "2026-05-20T07:29:28.000Z",
      "distro": "noble",
      "commit": "e602b243c5065388317f182e6fe1fe1f3db9fde6",
      "fileid": "8207282e9ee85e5c7282657974b4be5aa9449ca09b4aa3e7e96a97e13f94b49b",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/hiweller/actions/runs/26147819969"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.1.2",
      "date": "2026-05-20T07:28:36.000Z",
      "commit": "e602b243c5065388317f182e6fe1fe1f3db9fde6",
      "fileid": "c422cc86ba09787d13550acbb3f2773d55ec4ebce36d9f348db303c58eaf3ed5",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/hiweller/actions/runs/26147819969"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.1.2",
      "date": "2026-05-20T07:28:41.000Z",
      "commit": "e602b243c5065388317f182e6fe1fe1f3db9fde6",
      "fileid": "d4e9c1a2f54fa99c51d2af75405a05ac346c21d387820e52ca0c80acfa8c5b55",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/hiweller/actions/runs/26147819969"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.1.2",
      "date": "2026-05-20T07:28:34.000Z",
      "commit": "e602b243c5065388317f182e6fe1fe1f3db9fde6",
      "fileid": "19ad29da5f4d26729df57e3f02a5aa67773faf006ee4f9919943754b1cd35a43",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/hiweller/actions/runs/26147819969"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.1.2",
      "date": "2026-05-20T07:28:31.000Z",
      "commit": "e602b243c5065388317f182e6fe1fe1f3db9fde6",
      "fileid": "f375fae3f6ccfe4a2954923202f592c2c863a57b20696dd0d6698f6842087435",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/hiweller/actions/runs/26147819969"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "1.1.2",
      "date": "2026-05-20T07:30:03.000Z",
      "commit": "e602b243c5065388317f182e6fe1fe1f3db9fde6",
      "fileid": "a0bbf858e993d0cecbf61cb82319e2b700b23dbe07756a2dc2c758b4fde24a72",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/hiweller/actions/runs/26147819969"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.1.2",
      "date": "2026-06-02T13:51:53.000Z",
      "commit": "e602b243c5065388317f182e6fe1fe1f3db9fde6",
      "fileid": "6685fe01f5ca05837d210ea53a701237405206ca70283a346e9b9ef1d24e7242",
      "status": "success",
      "buildurl": "https://github.com/r-universe/hiweller/actions/runs/26147819969"
    }
  ]
}