{"id":22343636,"url":"https://github.com/datajuggler/imagesorter","last_synced_at":"2025-10-14T18:31:45.569Z","repository":{"id":47602269,"uuid":"398764018","full_name":"DataJuggler/ImageSorter","owner":"DataJuggler","description":"Image Sorter makes it easy to sort a directory of images by color.","archived":false,"fork":false,"pushed_at":"2022-11-30T19:18:31.000Z","size":624,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-07T11:11:35.059Z","etag":null,"topics":["graphics"],"latest_commit_sha":null,"homepage":"","language":"C#","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/DataJuggler.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-08-22T09:44:56.000Z","updated_at":"2024-08-19T02:44:18.000Z","dependencies_parsed_at":"2023-01-21T22:15:14.219Z","dependency_job_id":null,"html_url":"https://github.com/DataJuggler/ImageSorter","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/DataJuggler/ImageSorter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataJuggler%2FImageSorter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataJuggler%2FImageSorter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataJuggler%2FImageSorter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataJuggler%2FImageSorter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataJuggler","download_url":"https://codeload.github.com/DataJuggler/ImageSorter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataJuggler%2FImageSorter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279020355,"owners_count":26086866,"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","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"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":["graphics"],"created_at":"2024-12-04T08:16:34.177Z","updated_at":"2025-10-14T18:31:45.047Z","avatar_url":"https://github.com/DataJuggler.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ImageSorter\nImage Sorter makes it easy to sort an entire directory of images by color.\n\nUpdate 10.21.2022: This project has been udpated to .NET7. To compile this version, you will need Visual Studio 2022 Preview, which is available here:\nhttps://visualstudio.microsoft.com/vs/preview/\n\nHere is a video I made a couple of days ago which includes Image sorter and Sub Image Creator:\nhttps://youtu.be/XUAOjQIoHhQ\n\nHere is another short video:\nhttps://youtu.be/YsL96hmkAqw\n\nThis project uses the following DataJuggler Nuget packages:\nDataJuggler.Win.Controls\nDataJuggler.PixelDatabase\nDataJuggler.UltimateHelper\n\nusing DataJuggler.PixelDatabase;\nusing DataJuggler.UltimateHelper;\nusing DataJuggler.Win.Controls;\n\n    // get the values selected\n    string outputFolder = OutputControl.Text;\n    string sourceFolder = SourceControl.Text;\n\n    // If the strings outputFolder and sourceFolder both exist\n    if (TextHelper.Exists(outputFolder, sourceFolder))\n    {\n        // Now perform the sort\n        ImageClassifier.Sort(sourceFolder, outputFolder, UpdateStatus);\n    }\n    \nUpdateStatus is a method for a delegate to callback from long operations:\n\n    public void UpdateStatus(string message, int pixelsUpdated)\n    {\n        // If the message string exists\n        if (TextHelper.Exists(message))\n        {\n            // Show the graph\n            Graph.Visible = true;\n\n            // if this is a Total or SetGraphMax\n            if ((message.Contains(\"Total\")) || (message.Contains(\"SetGraphMax\")))\n            {\n                // Set the Max\n                this.Graph.Maximum = pixelsUpdated;\n            }\n            else\n            {\n                // Set the Graph value\n                this.Graph.Value = pixelsUpdated;\n\n                // Set our message\n                StatusLabel.Text = message;\n            }\n        }\n    }\n    \nThe UI is a very simple form with two LabelTextBoxBrowserControls, which make it easy to create a file or folder dialog.\n\nImageClassifier is part of DataJuggler.PixelDatabase, and the way it works is it finds the average red, average green and average blue values.\nNext the Primary Color (red, green or blue) is determined, and also the Secondary and Minority colors are set.\n\nFinally a new filename is created for each ImageClassification, and the new name will be in the format of [PrimaryColor][SecondaryColor][MinorityColor]\nfollowed by the Red Green and Blue values, converted to text, plus a partial Guid to ensure uniqueness in a folder.\n\nA few output file names:\nbluegreenredbagaaaaaa.e5086356-0d4.png\nredgreenbluebedbdgahj.25986e80-0ba.png\ngreenredbluebgbbcabaa.e7633860-ad9.png\n\nThe 9 digits between the minority color and partial guid, contains the Average RGB values for an image.\nIn this example:\ngreenredbluebgbbcabaa.e7633860-ad9.png\nbgbbcabaa - translates to:\n\nGreen - bgb\nRed - bca\nBlue - baa\n\nUsing the values here, you can decipher this if desired\nhttps://github.com/DataJuggler/PixelDatabase/blob/master/ImageClassifier.cs\n\nWhich translates to:\nGreen - 161\nRed - 120\nBlue - 100\n\nThe Fast Factor value speeds up the sorting, however you do lose a little accuracy possibly depending on your images.\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatajuggler%2Fimagesorter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdatajuggler%2Fimagesorter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatajuggler%2Fimagesorter/lists"}