{"id":17930851,"url":"https://github.com/michaeltoddprogramming/cos284pa05","last_synced_at":"2025-06-30T12:31:59.539Z","repository":{"id":259893917,"uuid":"875537458","full_name":"michaeltoddprogramming/COS284PA05","owner":"michaeltoddprogramming","description":"Repo for Assembling Tears Practical Assignment 5","archived":false,"fork":false,"pushed_at":"2024-10-28T13:48:01.000Z","size":8775,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-08T23:45:17.389Z","etag":null,"topics":["assembly","assembly-x86","ppm","ppm-image"],"latest_commit_sha":null,"homepage":"","language":"Assembly","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/michaeltoddprogramming.png","metadata":{"files":{"readme":"README.md","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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-20T08:48:28.000Z","updated_at":"2024-10-28T13:48:06.000Z","dependencies_parsed_at":"2024-10-29T02:48:57.946Z","dependency_job_id":null,"html_url":"https://github.com/michaeltoddprogramming/COS284PA05","commit_stats":null,"previous_names":["michaeltoddprogramming/cos284pa05"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeltoddprogramming%2FCOS284PA05","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeltoddprogramming%2FCOS284PA05/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeltoddprogramming%2FCOS284PA05/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeltoddprogramming%2FCOS284PA05/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michaeltoddprogramming","download_url":"https://codeload.github.com/michaeltoddprogramming/COS284PA05/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246982463,"owners_count":20864095,"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":["assembly","assembly-x86","ppm","ppm-image"],"created_at":"2024-10-28T21:18:13.431Z","updated_at":"2025-04-03T10:24:25.908Z","avatar_url":"https://github.com/michaeltoddprogramming.png","language":"Assembly","funding_links":[],"categories":[],"sub_categories":[],"readme":"# COS284PA05 - PPM Image Processing\n\n## Team Members\n- **Michael Todd** (U23540223)\n- **Corne de Lange** (U23788862)\n- **Cobus Botha** (U23556502)\n\n## Project Overview\nThis project involves processing PPM (Portable Pixmap) images using assembly language. The tasks include reading a PPM file, computing CDF (Cumulative Distribution Function) values, applying histogram equalization, and writing the processed image back to a PPM file.\n\n## File Descriptions\n\n### [task1_read_ppm_file.asm](task1_read_ppm_file.asm)\nThis file contains the code to read a binary P6 format PPM file and create a linked pixel structure. Each pixel connects to adjacent pixels (above, below, left, right).\n\nKey functions:\n- `readPPM`: Reads the PPM file and initializes the pixel structure.\n- `skipComments`: Skips comment lines in the PPM file.\n\n### [task2_compute_cdf_values.asm](task2_compute_cdf_values.asm)\nThis file contains the code to compute the CDF values from the pixel data.\n\nKey functions:\n- `computeCDFValues`: Computes the histogram and CDF values for the image.\n\n### [task3_histogram_equalisation.asm](task3_histogram_equalisation.asm)\nThis file contains the code to apply histogram equalization to the image using the computed CDF values.\n\nKey functions:\n- `applyHistogramEqualization`: Applies histogram equalization to the pixel data.\n\n### [task4_write_ppm.asm](task4_write_ppm.asm)\nThis file contains the code to write the processed image data back to a PPM file.\n\nKey functions:\n- `writePPM`: Writes the PPM header and pixel data to the output file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaeltoddprogramming%2Fcos284pa05","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichaeltoddprogramming%2Fcos284pa05","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaeltoddprogramming%2Fcos284pa05/lists"}