{"id":15519910,"url":"https://github.com/ceteri/dataink","last_synced_at":"2025-03-05T06:30:36.192Z","repository":{"id":988910,"uuid":"794697","full_name":"ceteri/dataink","owner":"ceteri","description":"Java implementation of \"Data-Ink Ratio Analysis\" metric described by Edward Tufte","archived":false,"fork":false,"pushed_at":"2010-07-24T05:59:13.000Z","size":612,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-24T12:23:11.392Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ceteri.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2010-07-24T05:50:32.000Z","updated_at":"2024-08-24T23:40:50.000Z","dependencies_parsed_at":"2022-08-16T11:45:15.034Z","dependency_job_id":null,"html_url":"https://github.com/ceteri/dataink","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceteri%2Fdataink","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceteri%2Fdataink/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceteri%2Fdataink/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceteri%2Fdataink/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ceteri","download_url":"https://codeload.github.com/ceteri/dataink/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241979203,"owners_count":20052093,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-10-02T10:23:33.027Z","updated_at":"2025-03-05T06:30:35.472Z","avatar_url":"https://github.com/ceteri.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"Data-Ink Ratio Analysis\n2005\n@author Paco Nathan \u003cceteri@gmail.com\u003e\nused for Bridge-Quest team in SPb\n\nSee: Edward R. Tufte, The Visual Display of Quantitative Data,\nGraphics Press, 1983, pp. 91-105.\nhttp://www.edwardtufte.com/tufte/books_vdqi\nhttp://www.infovis-wiki.net/index.php/Data-Ink_Ratio\n\n\n\t- Step 1 -\n\nUse a screen capture tool to grab the image for some part of a GUI\nthat you wish to analyze for \"Data-Ink Ratio\".\n\nIn the example here, there is an screen capture file at:\n\n   UserPreferences_1.png\n\nBe sure to deselect any text or menu items, before the screen capture.\nOtherwise those elements may have inverted colors later, such as white\non black.\n\nIt is best to save the image as a simple image file: PNG, GIF, BMP\n\n\n\t- Step 2 -\n\nConvert the image into mostly \"black and white\".  However, simply\nconverting to B\u0026W may cause too much distortion.  It is best to use an\nimage editing tool to:\n\n   * decrease the saturation\n   * increase the contrast\n\n...until the image appears monochromatic.  The analysis tool uses a\nhistogram, so background colors or \"feathering\" (sometimes called \"3D\"\nGUI components) will not affect the metric.\n\nIn the example here, there is a converted image file at:\n\n   UserPreferences_2.png\n\n\n\t- Step 3 -\n\nUse an image editing tool to erase all of the \"data\" elements from the\nimage.\n\nIn the example here, there is an image file with the data erased at:\n\n   UserPreferences_3.png\n\n\n\t- Step 4 -\n\nUse an image editing tool to erase all of the \"label\" elements from\nthe image.\n\nIn the example here, there is an image file with the data erased at:\n\n   UserPreferences_4.png\n\n\n\t- Step 5 -\n\nUse a Java compiler to run the analysis tool:\n\n   javac DataInk.java\n   java DataInk UserPreferences_2.png\n   java DataInk UserPreferences_3.png\n   java DataInk UserPreferences_4.png\n\n\n\t- Step 6 -\n\nCopy and paste the analysis table for each image into an Excel\nspreadsheet.\n\nIt is best to use the \"Edit / Paste Special... / As Text\" option,\notherwise Excel may not allow the table data to be pasted directly\ninto a spreadsheet.\n\nIn the example here, there is a spreadsheet document at:\n\n   data-ink.xls\n\nThen use the spreadsheet to calculate measurements for the Data-Ink\nRatio, as shown in the example.\n\nIt will be necessary to decided where in the RGB continuum to\ndistinguish between \"white\" pixels and \"black\" pixels.  In the example\nhere, the value 0x7FFFFF is chosen (middle gray) as the boundary for\ncolors called \"black\".\n\nSince too much emphasis on data labels can confuse a UI design, it is\nimportant to calculate metrics for both cases:\n\n   * \"ink\" - \"data\"\n   * \"ink\" - (\"data\" + \"label\")\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fceteri%2Fdataink","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fceteri%2Fdataink","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fceteri%2Fdataink/lists"}