{"id":51810304,"url":"https://github.com/IENT/RDPlot","last_synced_at":"2026-08-10T01:02:16.940Z","repository":{"id":47079968,"uuid":"98182615","full_name":"IENT/RDPlot","owner":"IENT","description":"Tool for plotting rd curves from output of video coding test model software","archived":false,"fork":false,"pushed_at":"2026-04-28T19:25:37.000Z","size":15683,"stargazers_count":35,"open_issues_count":3,"forks_count":14,"subscribers_count":9,"default_branch":"master","last_synced_at":"2026-04-28T20:35:01.903Z","etag":null,"topics":["analysis","h265","h266","hevc","vvc"],"latest_commit_sha":null,"homepage":"","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IENT.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-07-24T11:17:37.000Z","updated_at":"2026-03-17T14:10:26.000Z","dependencies_parsed_at":"2025-10-18T02:35:42.746Z","dependency_job_id":null,"html_url":"https://github.com/IENT/RDPlot","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/IENT/RDPlot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IENT%2FRDPlot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IENT%2FRDPlot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IENT%2FRDPlot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IENT%2FRDPlot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IENT","download_url":"https://codeload.github.com/IENT/RDPlot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IENT%2FRDPlot/sbom","scorecard":{"id":64635,"data":{"date":"2025-08-11","repo":{"name":"github.com/IENT/RDPlot","commit":"4debc4f87aaec4470aa7ecd8e0bc24e182972630"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.5,"checks":[{"name":"Code-Review","score":3,"reason":"Found 3/8 approved changesets -- score normalized to 3","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build_test_rdplot.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v1.3.4 not signed: https://api.github.com/repos/IENT/RDPlot/releases/48949880","Warn: release artifact v1.3.1 not signed: https://api.github.com/repos/IENT/RDPlot/releases/16550215","Warn: release artifact v1.2.1 not signed: https://api.github.com/repos/IENT/RDPlot/releases/13302362","Warn: release artifact v1.2.0 not signed: https://api.github.com/repos/IENT/RDPlot/releases/12343872","Warn: release artifact v1.3.4 does not have provenance: https://api.github.com/repos/IENT/RDPlot/releases/48949880","Warn: release artifact v1.3.1 does not have provenance: https://api.github.com/repos/IENT/RDPlot/releases/16550215","Warn: release artifact v1.2.1 does not have provenance: https://api.github.com/repos/IENT/RDPlot/releases/13302362","Warn: release artifact v1.2.0 does not have provenance: https://api.github.com/repos/IENT/RDPlot/releases/12343872"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":0,"reason":"13 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2020-49 / GHSA-j66q-qmrc-89rx","Warn: Project is vulnerable to: PYSEC-2018-34 / GHSA-2fc2-6r4j-p65h","Warn: Project is vulnerable to: PYSEC-2021-856 / GHSA-5545-2q6w-2gh6","Warn: Project is vulnerable to: PYSEC-2019-108 / GHSA-9fq2-x9r6-wfmf","Warn: Project is vulnerable to: PYSEC-2018-33 / GHSA-cw6w-4rcx-xphc","Warn: Project is vulnerable to: PYSEC-2021-857 / GHSA-f7c7-j99h-c22f","Warn: Project is vulnerable to: GHSA-fpfv-jqm9-f5jm","Warn: Project is vulnerable to: PYSEC-2017-1 / GHSA-frgw-fgh6-9g52","Warn: Project is vulnerable to: PYSEC-2020-92 / GHSA-hj5v-574p-mj7c","Warn: Project is vulnerable to: PYSEC-2022-42969","Warn: Project is vulnerable to: PYSEC-2019-156 / GHSA-xp76-357g-9wqq","Warn: Project is vulnerable to: PYSEC-2023-102","Warn: Project is vulnerable to: PYSEC-2023-114"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 26 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_test_rdplot.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/IENT/RDPlot/build_test_rdplot.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_test_rdplot.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/IENT/RDPlot/build_test_rdplot.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/build_test_rdplot.yml:44","Warn: pipCommand not pinned by hash: .github/workflows/build_test_rdplot.yml:45","Warn: pipCommand not pinned by hash: .github/workflows/build_test_rdplot.yml:46","Warn: pipCommand not pinned by hash: .github/workflows/build_test_rdplot.yml:47","Warn: pipCommand not pinned by hash: .github/workflows/build_test_rdplot.yml:48","Warn: pipCommand not pinned by hash: .github/workflows/build_test_rdplot.yml:49","Warn: pipCommand not pinned by hash: .github/workflows/build_test_rdplot.yml:50","Warn: pipCommand not pinned by hash: .github/workflows/build_test_rdplot.yml:52","Warn: pipCommand not pinned by hash: .github/workflows/build_test_rdplot.yml:70","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   9 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}}]},"last_synced_at":"2025-08-15T02:20:47.580Z","repository_id":47079968,"created_at":"2025-08-15T02:20:47.580Z","updated_at":"2025-08-15T02:20:47.580Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36473981,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-09T02:00:06.528Z","response_time":130,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["analysis","h265","h266","hevc","vvc"],"created_at":"2026-07-21T17:00:25.591Z","updated_at":"2026-08-10T01:02:16.846Z","avatar_url":"https://github.com/IENT.png","language":"R","funding_links":[],"categories":["Encoding \u0026 Codecs"],"sub_categories":["Benchmarking \u0026 Performance Tools for Codecs"],"readme":"RDPlot\n=======================\n\n.. image:: https://raw.githubusercontent.com/wiki/IENT/RDPlot/resources/figures/rdplot_gui.png\n  :alt: RDPlot GUI\n\nRDPlot is a tool for plotting rate distortion curves.\nIn particular, it can\n\n- Parse the output of reference software such as HM, SHM, or VTM.\n- Parse data points from xml-formatted files.\n- Parse data from csv-formatted files.\n- Calculate Bjontegaard Delta statistics.\n- Export plots and BD statistics for camera ready presentation.\n\nIt was developed along the design principle of easy extensibility.\nIf no parser for your data is available, you can consider to introduce a `new parser \u003chttps://github.com/IENT/RDPlot/wiki/How-to-implement-a-new-parser\u003e`_.\nIf you feel like your parser would be of interest for others, please submit a PR.\n\nCitation\n=======================\nRDPlot was presented as a Demo on VCIP 2021. Please consider citing the corresponding demo paper when using RDPlot for the evaluation of your simulations.::\n\n    @inproceedings{ScSaWi21,\n    author = {Schneider, J. and Sauer, J. and Wien, M.},\n    title = {{RDP}lot -- An Evaluation Tool for Video Coding Simulations},\n    booktitle = {Visual Communications and Image Processing {VCIP}~'21},\n    address = {Munich},\n    year = {2021},\n    month = {12},\n    publisher = {{IEEE}, Piscataway},\n    }\n\nBuild status\n=======================\n.. |Appveyor| image:: https://ci.appveyor.com/api/projects/status/37mam1gyisyauvkv/branch/master?svg=true\n  :target: https://ci.appveyor.com/project/dmehlem/rdplot\n.. |Actions| image:: https://github.com/IENT/RDPlot/actions/workflows/build_test_rdplot.yml/badge.svg?branch=master\n  :target: https://github.com/IENT/RDPlot/actions/workflows/build_test_rdplot.yml\n\n+------------+------------------+\n|  AppVeyor  | GitHub Actions   |\n+============+==================+\n| |Appveyor| | |Actions|        |\n+------------+------------------+\n\nCode Coverage\n=======================\n.. image:: https://coveralls.io/repos/github/IENT/RDPlot/badge.svg?branch=master\n  :target: https://coveralls.io/github/IENT/RDPlot\n\nInstallation\n========================\n\n.. contents::\n   :local:\n\nIn the following sections different installation strategies are outlined:\n\nInstallation via pipx\n---------------------\nRDPlot is available on `PyPi \u003chttps://pypi.org/project/rdplot/\u003e`_.\nTherefore, you can directly install RDPlot via `pipx \u003chttps://pypi.org/project/pipx/\u003e`_::\n\n  pipx install rdplot\n\nThis should work on all platforms.\nHowever, on Apple silicon you might have to fiddle a bit and use Rosetta.\n\n\nWindows installer\n-----------------\nFor Windows an installer is available on the release page.\nThe installer will install a released version.\nIf you want to install the most recent (unreleased) version, you can download the installer from `Appveyor's artifacts \u003chttps://ci.appveyor.com/project/JensAc/rdplot/build/artifacts\u003e`_.\n\n\nBuilding from Source\n=====================\nWe assume that you are familiar to Python development for the following sections.\nIf you run into any problems, don't hesitate to use the `Issue tracker \u003chttps://github.com/IENT/RDPlot/issues\u003e`_.\n\n.. contents::\n   :local:\n\nVirtual Environment\n-------------------\nIf you need system packages that conflict with the packages required for RDPlot, you can use a python virtual environment (see below).\n\nWhen you are inside a virtual environment, python ignores all system packages and instead uses a dedicated environment, allowing you to install packages with pip that would otherwise conflict with system packages and/or different versions. The pitfall is that you need to activate the environment each time you want to use the program.\n\nYou can find more info on virtual environments at https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/.\n\nvenv is included in python since version 3.3. Please make sure to use a supported python version. You can find the supported python versions in the actions tab by clicking on the desired commit name that you want to use or by looking the currently supported and tested versions in '.github/workflows/build_test_rdplot.yml'. If your python version does not fulfil the requirements consider upgrading, or install venv using::\n\n    sudo pip install virtualenv\n\nDownload RDPlot. Make sure you do this at a place where it can stay::\n\n    git clone --depth 1 https://github.com/IENT/RDPlot\n    cd RDPlot\n\nCreate a virtualenv named \"env\" inside the RDPlot directory::\n\n    python3 -m venv env\n\nActivate the venv and install dependencies::\n\n    source env/bin/activate\n    pip3 install --upgrade pip gitpython\n\nBuild and install RDPlot::\n\n    python3 setup.py sdist\n    pip3 install --no-binary rdplot --upgrade dist/rdplot-*.tar.gz\n\nLeave the environment::\n\n    deactivate\n\nRemember to activate the environment every time you want to run RDPlot::\n\n    cd RDPlot\n    source env/bin/activate\n    rdplot\n    deactivate\n\nTo uninstall, simply delete the RDPlot directory.\n\nMac OS X\n--------\n**Note:** things are not tested for Mac. You may have to fiddle a little bit.\nPlease contribute, if you have ideas for improvements.\n\nFirst of all you need to install python3.\nYou can get it `here\n\u003chttps://www.python.org/downloads/\u003e`_.\nIf you are using Homebrew you can alternatively install python3 via console::\n\n    brew install python@3.9\n\nMoreover, install all the requirements::\n\n    cd src/rdplot\n    pip3 install -r requirements.txt\n\nAdditionally install py2app::\n\n    pip3 install py2app\n\nThen navigate back to the top level and build an app in alias mode::\n\n    cd ../..\n    python3 setup.py py2app -A\n\nNow you should have an app in the dist folder.\n\n**Note:** This app contains hard links to the directory with the source.\nIt is strongly recommended to clone the whole directory to your Applications folder.\nThen you can simply build the app and launch it from the internal search.\nAnother possibility is to put an alias in your Applications folder and/or attach it to the Dock.\n\nIf you want to update the app, it is fairly easy:\nNavigate to the local copy of the repository (now most probably in your Applications folder) and then::\n\n    git pull\n    python3 setup.py py2app -A\n\nDone!\n\nUninstall is also simple: Just delete the local copy of the repositories and all aliases.\n\nRunning from repository without installation\n=============================================\nIf you want to help improving RDPlot, you most probably need to run it directly from source for development and testing.\n\nLinux\n-----\nYou can start RDPlot from the command line with::\n\n    PYTHONPATH=~PATH_TO_RDPLOT/src/ python3 PATH_TO_RDPLOT/src/rdplot/__main__.py\n\nIf you want to start the tool out of an IDE, make sure that you have set the PYTHONPATH environment variable correctly.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FIENT%2FRDPlot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FIENT%2FRDPlot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FIENT%2FRDPlot/lists"}