{
  "_id": "6a12a4caacfb0bcc41d12d71",
  "Package": "picohdr",
  "Type": "Package",
  "Title": "Read, Write and Manipulate High Dynamic Range Images",
  "Version": "0.1.1",
  "Authors@R": "c(\nperson(\"Mike\", \"Cheng\", role = c(\"aut\", \"cre\", 'cph'), email = \"mikefc@coolbutuseless.com\")\n)",
  "Maintainer": "Mike Cheng <mikefc@coolbutuseless.com>",
  "Description": "High Dynamic Range (HDR) images support a large range in\nluminosity between the lightest and darkest regions of an\nimage.  To capture this range, data in HDR images is often\nstored as floating point numbers and in formats that capture\nmore data and channels than standard image types.  This package\nsupports reading and writing two types of HDR images; PFM\n(Portable Float Map) and OpenEXR images. HDR images can be\nconverted to lower dynamic ranges (for viewing) using\ntone-mapping.  A number of tone-mapping algorithms are included\nwhich are based on Reinhard (2002) \"Photographic tone\nreproduction for digital images\" <doi:10.1145/566654.566575>.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "RoxygenNote": "7.3.2",
  "Config/testthat/edition": "3",
  "Copyright": "The included images in the 'inst/image' directory were\ncreated by the package author (Mike Cheng) and are licensed\nunder CC0 1.0. See 'COPYRIGHTS' file for more details.",
  "VignetteBuilder": "knitr",
  "URL": "https://github.com/coolbutuseless/picohdr",
  "BugReports": "https://github.com/coolbutuseless/picohdr/issues",
  "Repository": "https://coolbutuseless.r-universe.dev",
  "Date/Publication": "2024-12-24 04:57:44 UTC",
  "RemoteUrl": "https://github.com/coolbutuseless/picohdr",
  "RemoteRef": "HEAD",
  "RemoteSha": "429760552aa527bc72ea6fe791c34c53e4d3729b",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-05-24 06:59:59 UTC",
    "User": "root"
  },
  "Author": "Mike Cheng [aut, cre, cph]",
  "MD5sum": "fc48ccd71d16e3e1dd511c3419e499cc",
  "_user": "coolbutuseless",
  "_type": "src",
  "_file": "picohdr_0.1.1.tar.gz",
  "_fileid": "856ab658526b7ecf4ef4bc84de1b0aeed6846c5c71ed61f427979ce8a69bbd55",
  "_filesize": 7137461,
  "_sha256": "856ab658526b7ecf4ef4bc84de1b0aeed6846c5c71ed61f427979ce8a69bbd55",
  "_created": "2026-05-24T06:59:59.000Z",
  "_published": "2026-05-24T07:12:09.953Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77578924519,
      "time": 143,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7183082640"
    },
    {
      "job": 77578924511,
      "time": 130,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7183081319"
    },
    {
      "job": 77578924506,
      "time": 123,
      "config": "linux-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7183080290"
    },
    {
      "job": 77578924523,
      "time": 129,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7183081082"
    },
    {
      "job": 77578924487,
      "time": 127,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7183146498"
    },
    {
      "job": 77578924521,
      "time": 144,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7183133718"
    },
    {
      "job": 77578924502,
      "time": 99,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7183147155"
    },
    {
      "job": 77578924515,
      "time": 215,
      "config": "macos-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7183144791"
    },
    {
      "job": 77578779347,
      "time": 160,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7183065894"
    },
    {
      "job": 77578924441,
      "time": 106,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7183078471"
    },
    {
      "job": 77578924454,
      "time": 99,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7183077772"
    },
    {
      "job": 77578924453,
      "time": 86,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7183075935"
    },
    {
      "job": 77578924455,
      "time": 88,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7183076392"
    }
  ],
  "_buildurl": "https://github.com/r-universe/coolbutuseless/actions/runs/26354550267",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/coolbutuseless/picohdr",
  "_commit": {
    "id": "429760552aa527bc72ea6fe791c34c53e4d3729b",
    "author": "mike <mikefc@coolbutuseless.com>",
    "committer": "mike <mikefc@coolbutuseless.com>",
    "message": "add links to CRAN\n",
    "time": 1735016264
  },
  "_maintainer": {
    "name": "Mike Cheng",
    "email": "mikefc@coolbutuseless.com",
    "login": "coolbutuseless",
    "description": "Cool, but useless.",
    "uuid": 181818
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "ctypesio",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "ggplot2",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "coolbutuseless",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [],
  "_tags": [],
  "_stars": 0,
  "_contributors": [
    {
      "user": "coolbutuseless",
      "count": 9,
      "uuid": 181818
    }
  ],
  "_userbio": {
    "uuid": 181818,
    "type": "user",
    "name": "mikefc",
    "description": "Cool, but useless."
  },
  "_downloads": {
    "count": 574,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/picohdr"
  },
  "_devurl": "https://github.com/coolbutuseless/picohdr",
  "_searchresults": 5,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/picohdr.html",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/coolbutuseless/picohdr",
  "_realowner": "coolbutuseless",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.1",
      "date": "2024-10-28"
    }
  ],
  "_exports": [
    "adj_clamp",
    "adj_gamma",
    "adj_infinite",
    "adj_rescale",
    "adj_shift_negatives_global",
    "adj_shift_negatives_local",
    "array_to_df",
    "exr_attrs",
    "exr_info",
    "exr_type",
    "read_exr",
    "read_pfm",
    "tm_reinhard",
    "tm_reinhard_basic",
    "tm_reinhard_variant",
    "write_exr",
    "write_pfm"
  ],
  "_help": [
    {
      "page": "adj_clamp",
      "title": "Clamp values outside the specified range",
      "concept": [
        "array adjustment functions"
      ],
      "topics": [
        "adj_clamp"
      ]
    },
    {
      "page": "adj_gamma",
      "title": "Adjust gamma",
      "concept": [
        "array adjustment functions"
      ],
      "topics": [
        "adj_gamma"
      ]
    },
    {
      "page": "adj_infinite",
      "title": "Replace infinite values with the minimum/maximum of the finite values",
      "concept": [
        "array adjustment functions"
      ],
      "topics": [
        "adj_infinite"
      ]
    },
    {
      "page": "adj_rescale",
      "title": "Linearly rescale values to lie between the given limits",
      "concept": [
        "array adjustment functions"
      ],
      "topics": [
        "adj_rescale"
      ]
    },
    {
      "page": "adj_shift_negatives_global",
      "title": "Shift all values such that the minimum of the array is 0",
      "concept": [
        "array adjustment functions"
      ],
      "topics": [
        "adj_shift_negatives_global"
      ]
    },
    {
      "page": "adj_shift_negatives_local",
      "title": "Shift all values in a plane such that the minimum in every plane is 0",
      "concept": [
        "array adjustment functions"
      ],
      "topics": [
        "adj_shift_negatives_local"
      ]
    },
    {
      "page": "array_to_df",
      "title": "Convert array to a linear data.frame. Preserves array names if present.",
      "topics": [
        "array_to_df"
      ]
    },
    {
      "page": "exr_attrs",
      "title": "Helper function to create attributes for 'write_exr()'",
      "topics": [
        "exr_attrs"
      ]
    },
    {
      "page": "exr_info",
      "title": "Extract the metadata from an EXR file",
      "topics": [
        "exr_info"
      ]
    },
    {
      "page": "exr_type",
      "title": "Functions for creating valid EXR type objects",
      "topics": [
        "exr_type"
      ]
    },
    {
      "page": "plot.array",
      "title": "Plot method for matrices and arrays",
      "topics": [
        "plot.array"
      ]
    },
    {
      "page": "print.exr_type",
      "title": "Print 'exr_type' objects",
      "topics": [
        "print.exr_type"
      ]
    },
    {
      "page": "read_exr",
      "title": "Read an EXR image",
      "topics": [
        "read_exr"
      ]
    },
    {
      "page": "read_pfm",
      "title": "Read PFM image",
      "concept": [
        "PFM functions"
      ],
      "topics": [
        "read_pfm"
      ]
    },
    {
      "page": "tm_reinhard",
      "title": "Reinhard's global tone mapping",
      "topics": [
        "tm_reinhard",
        "tm_reinhard_basic",
        "tm_reinhard_variant"
      ]
    },
    {
      "page": "write_exr",
      "title": "Write a numeric array as an EXR image",
      "topics": [
        "write_exr"
      ]
    },
    {
      "page": "write_pfm",
      "title": "Write a numeric array as PFM",
      "concept": [
        "PFM functions"
      ],
      "topics": [
        "write_pfm"
      ]
    }
  ],
  "_readme": "https://github.com/coolbutuseless/picohdr/raw/HEAD/README.md",
  "_rundeps": [
    "ctypesio"
  ],
  "_vignettes": [
    {
      "source": "introduction.Rmd",
      "filename": "introduction.html",
      "title": "Introduction",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Read and display a PFM image",
        "Read and display an EXR image",
        "Display a non-colour channel",
        "EXR metadata",
        "EXR Implementation Notes"
      ],
      "created": "2024-10-21 10:40:41",
      "modified": "2024-10-21 10:40:41",
      "commits": 1
    },
    {
      "source": "tone-mapping.Rmd",
      "filename": "tone-mapping.html",
      "title": "Tone Mapping",
      "engine": "knitr::rmarkdown",
      "headings": [
        "HDR images",
        "Example image",
        "Tone-map by clamping",
        "Tone-map by linear rescaling",
        "Tone-map with Reinhard's technique",
        "Tone-map with Reinhard's technique (extended)",
        "Tone-map with Reinhard's technique (variant)"
      ],
      "created": "2024-10-21 10:40:41",
      "modified": "2024-10-25 07:20:05",
      "commits": 2
    }
  ],
  "_score": 4,
  "_indexed": true,
  "_nocasepkg": "picohdr",
  "_universes": [
    "coolbutuseless"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.1",
      "date": "2026-05-24T07:02:23.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "429760552aa527bc72ea6fe791c34c53e4d3729b",
      "fileid": "6e3287e6b3b868b251b601637f5d09efb514467285eab55aa0c0ef3ce77ea85e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/coolbutuseless/actions/runs/26354550267"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.1",
      "date": "2026-05-24T07:02:08.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "429760552aa527bc72ea6fe791c34c53e4d3729b",
      "fileid": "40bb1192711b0370b1a0610f39e10e030bf3f59c2e52d9d3f7a1c4221a5458bc",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/coolbutuseless/actions/runs/26354550267"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.1.1",
      "date": "2026-05-24T07:02:04.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "429760552aa527bc72ea6fe791c34c53e4d3729b",
      "fileid": "eb2d4e6b066cada7410a573e972ab56c7ad50d28fd4b160c9cc7f423b18b29e0",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/coolbutuseless/actions/runs/26354550267"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.1.1",
      "date": "2026-05-24T07:02:06.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "429760552aa527bc72ea6fe791c34c53e4d3729b",
      "fileid": "e8ca4f381dfd8a8b548553da7b0cc12fb6e68d56b0595c1362794d957f3b56a7",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/coolbutuseless/actions/runs/26354550267"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.1",
      "date": "2026-05-24T07:11:27.000Z",
      "arch": "aarch64",
      "commit": "429760552aa527bc72ea6fe791c34c53e4d3729b",
      "fileid": "3244040063e86404dcafc97ff050b9cec759a6e707f7cc595827b4c29a06a368",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/coolbutuseless/actions/runs/26354550267"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.1",
      "date": "2026-05-24T07:09:44.000Z",
      "arch": "x86_64",
      "commit": "429760552aa527bc72ea6fe791c34c53e4d3729b",
      "fileid": "dc7a6bfa4ae572e4f3013326b2b97c7c484b908649ce11086b02ecbad17adb17",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/coolbutuseless/actions/runs/26354550267"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.1.1",
      "date": "2026-05-24T07:11:39.000Z",
      "arch": "aarch64",
      "commit": "429760552aa527bc72ea6fe791c34c53e4d3729b",
      "fileid": "c216bee96c547512135a44fed0aa505caa418d024061b299df35058404707c27",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/coolbutuseless/actions/runs/26354550267"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.1.1",
      "date": "2026-05-24T07:10:50.000Z",
      "arch": "x86_64",
      "commit": "429760552aa527bc72ea6fe791c34c53e4d3729b",
      "fileid": "7b770915e6499311538806c34abdb3adee067e3b7f9951a4f41d85d9d4399863",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/coolbutuseless/actions/runs/26354550267"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.1",
      "date": "2026-05-24T07:02:00.000Z",
      "arch": "emscripten",
      "commit": "429760552aa527bc72ea6fe791c34c53e4d3729b",
      "fileid": "e2c9b1b0feb30dde47194f62470f2a8ff95e320fd07f145adc993aebac008306",
      "status": "success",
      "buildurl": "https://github.com/r-universe/coolbutuseless/actions/runs/26354550267"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.1",
      "date": "2026-05-24T07:01:22.000Z",
      "arch": "x86_64",
      "commit": "429760552aa527bc72ea6fe791c34c53e4d3729b",
      "fileid": "57a63bff2d8e0796bba6178292a9141ec4bbcb0befe28dc5f8cd556487dc8209",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/coolbutuseless/actions/runs/26354550267"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.1",
      "date": "2026-05-24T07:01:11.000Z",
      "arch": "x86_64",
      "commit": "429760552aa527bc72ea6fe791c34c53e4d3729b",
      "fileid": "85a2298b3b6a4a87569a37d88cf39c4744275412928e4974e39d27b48c3ad15b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/coolbutuseless/actions/runs/26354550267"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.1.1",
      "date": "2026-05-24T07:01:11.000Z",
      "arch": "x86_64",
      "commit": "429760552aa527bc72ea6fe791c34c53e4d3729b",
      "fileid": "55272d0fceee8129c52e7ce4a1df2e42fa013ea9f48e01fb5adc407148e26cd4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/coolbutuseless/actions/runs/26354550267"
    }
  ]
}