{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":747433218,"defaultBranch":"main","name":"ocular","ownerLogin":"warrengalyen","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-01-23T23:08:11.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/16408188?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1707605072.0","currentOid":""},"activityList":{"items":[{"before":"be52d48faa45b20a782f34ab3fa1a56bdc806387","after":"48df0c7cae7169408231261f85e6c253f404cb14","ref":"refs/heads/main","pushedAt":"2024-06-07T18:22:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"warrengalyen","name":"Warren Galyen","path":"/warrengalyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16408188?s=80&v=4"},"commit":{"message":"update documentation","shortMessageHtmlLink":"update documentation"}},{"before":"31b99b353c9657896254f43c2f2fbec56a10b070","after":"be52d48faa45b20a782f34ab3fa1a56bdc806387","ref":"refs/heads/main","pushedAt":"2024-06-06T20:19:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"warrengalyen","name":"Warren Galyen","path":"/warrengalyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16408188?s=80&v=4"},"commit":{"message":"update README\nbetter organize Image Processing Filter section","shortMessageHtmlLink":"update README"}},{"before":"385532bcc7ecd5da88561938e0a9d6d83439f8d1","after":"31b99b353c9657896254f43c2f2fbec56a10b070","ref":"refs/heads/main","pushedAt":"2024-05-23T20:56:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"warrengalyen","name":"Warren Galyen","path":"/warrengalyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16408188?s=80&v=4"},"commit":{"message":"update README","shortMessageHtmlLink":"update README"}},{"before":"4dd15573f93c5bc89fa179620be89be6b3743f82","after":"385532bcc7ecd5da88561938e0a9d6d83439f8d1","ref":"refs/heads/main","pushedAt":"2024-05-23T20:55:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"warrengalyen","name":"Warren Galyen","path":"/warrengalyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16408188?s=80&v=4"},"commit":{"message":"refactored and updated resampling filter\nmoved lanzcos method into new interpolate.h file and added nearest-neighbor, bilinear and bicubic interpolation methods.","shortMessageHtmlLink":"refactored and updated resampling filter"}},{"before":"0f26ee31237c4f7124188b0f38864d192a01e6ff","after":"4dd15573f93c5bc89fa179620be89be6b3743f82","ref":"refs/heads/main","pushedAt":"2024-05-21T16:45:59.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"warrengalyen","name":"Warren Galyen","path":"/warrengalyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16408188?s=80&v=4"},"commit":{"message":"add transpose utility function","shortMessageHtmlLink":"add transpose utility function"}},{"before":"97cab66f564c2d1e70de630d05878c28aa36d605","after":"0f26ee31237c4f7124188b0f38864d192a01e6ff","ref":"refs/heads/main","pushedAt":"2024-05-17T21:39:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"warrengalyen","name":"Warren Galyen","path":"/warrengalyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16408188?s=80&v=4"},"commit":{"message":"add skin smoothing filter","shortMessageHtmlLink":"add skin smoothing filter"}},{"before":"aafe5e377fdf55b51a5628d8524e68dbc392447e","after":"97cab66f564c2d1e70de630d05878c28aa36d605","ref":"refs/heads/main","pushedAt":"2024-05-17T19:16:36.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"warrengalyen","name":"Warren Galyen","path":"/warrengalyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16408188?s=80&v=4"},"commit":{"message":"add erode and dilate filters\nthese are the most common morphological operations, known as minimum and maximum rank filters","shortMessageHtmlLink":"add erode and dilate filters"}},{"before":"a89fd8942ebfb3f7a51fbc9a1bbddfe9c9f19316","after":"aafe5e377fdf55b51a5628d8524e68dbc392447e","ref":"refs/heads/main","pushedAt":"2024-05-17T19:14:15.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"warrengalyen","name":"Warren Galyen","path":"/warrengalyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16408188?s=80&v=4"},"commit":{"message":"add erode and dilate filters\nthese are the most common morphological operations, known as minimum and maximum rank filters","shortMessageHtmlLink":"add erode and dilate filters"}},{"before":"2158892b175ee54ca03c245bb99e3e37f33fa60b","after":"a89fd8942ebfb3f7a51fbc9a1bbddfe9c9f19316","ref":"refs/heads/main","pushedAt":"2024-03-03T01:15:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"warrengalyen","name":"Warren Galyen","path":"/warrengalyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16408188?s=80&v=4"},"commit":{"message":"add erode and dilate filters\nthese are the most common morphological operations, known as minimum and maximum rank filters","shortMessageHtmlLink":"add erode and dilate filters"}},{"before":"72d0fed8f1741eec6b6ed5beda4957af802368d4","after":"2158892b175ee54ca03c245bb99e3e37f33fa60b","ref":"refs/heads/main","pushedAt":"2024-02-29T18:35:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"warrengalyen","name":"Warren Galyen","path":"/warrengalyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16408188?s=80&v=4"},"commit":{"message":"finish refactoring util functions","shortMessageHtmlLink":"finish refactoring util functions"}},{"before":"af965e42365791e8a3a999dda6bdc61ed5b5a5b8","after":"72d0fed8f1741eec6b6ed5beda4957af802368d4","ref":"refs/heads/main","pushedAt":"2024-02-29T16:40:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"warrengalyen","name":"Warren Galyen","path":"/warrengalyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16408188?s=80&v=4"},"commit":{"message":"refactor util functions","shortMessageHtmlLink":"refactor util functions"}},{"before":"c931e22dca105a2908adbaca96c93000144c8f75","after":"af965e42365791e8a3a999dda6bdc61ed5b5a5b8","ref":"refs/heads/main","pushedAt":"2024-02-28T16:19:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"warrengalyen","name":"Warren Galyen","path":"/warrengalyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16408188?s=80&v=4"},"commit":{"message":"fix declaration typo in surface blur","shortMessageHtmlLink":"fix declaration typo in surface blur"}},{"before":"ecdf2b56389c6833b02ab1de2af2a55df4b92c6e","after":"c931e22dca105a2908adbaca96c93000144c8f75","ref":"refs/heads/main","pushedAt":"2024-02-28T00:21:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"warrengalyen","name":"Warren Galyen","path":"/warrengalyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16408188?s=80&v=4"},"commit":{"message":"update docs","shortMessageHtmlLink":"update docs"}},{"before":"a635e00323c182d0d84ef9e8d4bd1b235b138a7c","after":"ecdf2b56389c6833b02ab1de2af2a55df4b92c6e","ref":"refs/heads/main","pushedAt":"2024-02-27T19:59:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"warrengalyen","name":"Warren Galyen","path":"/warrengalyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16408188?s=80&v=4"},"commit":{"message":"add surface blur filter\nthis is an optimized implementation which is probably as fast as we can get without SSE or multithreading.","shortMessageHtmlLink":"add surface blur filter"}},{"before":"e50c2bbbd0d593ef0fa6f517f80f430d0d9c4ba5","after":"a635e00323c182d0d84ef9e8d4bd1b235b138a7c","ref":"refs/heads/main","pushedAt":"2024-02-26T19:17:54.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"warrengalyen","name":"Warren Galyen","path":"/warrengalyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16408188?s=80&v=4"},"commit":{"message":"rewrite motion blur filter\na dedicated implementation that is much faster","shortMessageHtmlLink":"rewrite motion blur filter"}},{"before":"e477484aeb61c373b9877c1d1fe9dc840ae573f2","after":"e50c2bbbd0d593ef0fa6f517f80f430d0d9c4ba5","ref":"refs/heads/main","pushedAt":"2024-02-22T02:03:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"warrengalyen","name":"Warren Galyen","path":"/warrengalyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16408188?s=80&v=4"},"commit":{"message":"add layer blend filter\nSupports 27 layer blend modes used in Photoshop. Hue, Saturation, Color and Luminosity are simulated using HSV color space as I'm not exactly sure what color space Photoshop uses, so results may not be completely consistent.\n\nAlso fixed HSV <--> RGB function parameters.","shortMessageHtmlLink":"add layer blend filter"}},{"before":"419c94a6c5d65a820974edbc0c3c2c83ae7ca511","after":"e477484aeb61c373b9877c1d1fe9dc840ae573f2","ref":"refs/heads/main","pushedAt":"2024-02-20T22:28:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"warrengalyen","name":"Warren Galyen","path":"/warrengalyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16408188?s=80&v=4"},"commit":{"message":"update docs","shortMessageHtmlLink":"update docs"}},{"before":"d233e0ad2020303708757a684354071900f3d07c","after":"419c94a6c5d65a820974edbc0c3c2c83ae7ca511","ref":"refs/heads/main","pushedAt":"2024-02-20T17:53:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"warrengalyen","name":"Warren Galyen","path":"/warrengalyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16408188?s=80&v=4"},"commit":{"message":"add backlight repair filter\nthis is a nice enhancement algorithm for low-light images based on the paper: Adaptive and integrated neighborhood-dependent approach for nonlinear enhancement of color images","shortMessageHtmlLink":"add backlight repair filter"}},{"before":"b8764d42d69057a46e0dd7a417534ddc7b92d566","after":"d233e0ad2020303708757a684354071900f3d07c","ref":"refs/heads/main","pushedAt":"2024-02-19T22:21:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"warrengalyen","name":"Warren Galyen","path":"/warrengalyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16408188?s=80&v=4"},"commit":{"message":"add auto threshold filter\nThis filter includes 13 different methods for calculating threshold","shortMessageHtmlLink":"add auto threshold filter"}},{"before":"81cef1f689f5bd6d3cbf488f4b21e65197c08c03","after":"b8764d42d69057a46e0dd7a417534ddc7b92d566","ref":"refs/heads/main","pushedAt":"2024-02-19T00:42:06.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"warrengalyen","name":"Warren Galyen","path":"/warrengalyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16408188?s=80&v=4"},"commit":{"message":"add equalize filter","shortMessageHtmlLink":"add equalize filter"}},{"before":"347b56aeee03db6397906beb841339aeb22dc269","after":"81cef1f689f5bd6d3cbf488f4b21e65197c08c03","ref":"refs/heads/main","pushedAt":"2024-02-16T22:13:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"warrengalyen","name":"Warren Galyen","path":"/warrengalyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16408188?s=80&v=4"},"commit":{"message":"fix compilation issue","shortMessageHtmlLink":"fix compilation issue"}},{"before":"b2a554322527762b6788e93520113f456a11a70c","after":"347b56aeee03db6397906beb841339aeb22dc269","ref":"refs/heads/main","pushedAt":"2024-02-16T20:35:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"warrengalyen","name":"Warren Galyen","path":"/warrengalyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16408188?s=80&v=4"},"commit":{"message":"add auto gamma correction filter","shortMessageHtmlLink":"add auto gamma correction filter"}},{"before":"d91533eb3b6b08c26b570139e3bad9c3d41f282e","after":"b2a554322527762b6788e93520113f456a11a70c","ref":"refs/heads/main","pushedAt":"2024-02-16T19:37:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"warrengalyen","name":"Warren Galyen","path":"/warrengalyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16408188?s=80&v=4"},"commit":{"message":"add auto contrast filter\nthis filter implements an advanced method known as local exponential correction that helps correct images that have both overexposed and underexposed regions.","shortMessageHtmlLink":"add auto contrast filter"}},{"before":"47cf1e5a71a31f31b87592eed808ab061ef1bf08","after":"d91533eb3b6b08c26b570139e3bad9c3d41f282e","ref":"refs/heads/main","pushedAt":"2024-02-14T19:34:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"warrengalyen","name":"Warren Galyen","path":"/warrengalyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16408188?s=80&v=4"},"commit":{"message":"fix some memory leakage","shortMessageHtmlLink":"fix some memory leakage"}},{"before":"1e832ee77bff7fd5d7d9058750c794d51d2fa293","after":"47cf1e5a71a31f31b87592eed808ab061ef1bf08","ref":"refs/heads/main","pushedAt":"2024-02-14T18:57:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"warrengalyen","name":"Warren Galyen","path":"/warrengalyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16408188?s=80&v=4"},"commit":{"message":"update docs","shortMessageHtmlLink":"update docs"}},{"before":"05dcb74e52cb0630b54a8376c3a05150b6c2790a","after":"1e832ee77bff7fd5d7d9058750c794d51d2fa293","ref":"refs/heads/main","pushedAt":"2024-02-14T15:47:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"warrengalyen","name":"Warren Galyen","path":"/warrengalyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16408188?s=80&v=4"},"commit":{"message":"add canny edge detection filter","shortMessageHtmlLink":"add canny edge detection filter"}},{"before":"36e09f5392162c7262e1518b0af47bdd737bad4f","after":"05dcb74e52cb0630b54a8376c3a05150b6c2790a","ref":"refs/heads/main","pushedAt":"2024-02-14T14:10:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"warrengalyen","name":"Warren Galyen","path":"/warrengalyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16408188?s=80&v=4"},"commit":{"message":"add gradient edge detection filter","shortMessageHtmlLink":"add gradient edge detection filter"}},{"before":"9a4055769374d33fd7416b98016fa5cd8fec3283","after":"36e09f5392162c7262e1518b0af47bdd737bad4f","ref":"refs/heads/main","pushedAt":"2024-02-13T16:37:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"warrengalyen","name":"Warren Galyen","path":"/warrengalyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16408188?s=80&v=4"},"commit":{"message":"add pixelate filter","shortMessageHtmlLink":"add pixelate filter"}},{"before":"904eb38462ea7b457867bfb9d16076b700b82f8a","after":"9a4055769374d33fd7416b98016fa5cd8fec3283","ref":"refs/heads/main","pushedAt":"2024-02-13T00:17:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"warrengalyen","name":"Warren Galyen","path":"/warrengalyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16408188?s=80&v=4"},"commit":{"message":"add HSL adjustment filter and fix `hsl2rgb`","shortMessageHtmlLink":"add HSL adjustment filter and fix hsl2rgb"}},{"before":"a3e3817400e4e6eb08d0c63f89ed5f8913645966","after":"904eb38462ea7b457867bfb9d16076b700b82f8a","ref":"refs/heads/main","pushedAt":"2024-02-12T20:55:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"warrengalyen","name":"Warren Galyen","path":"/warrengalyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16408188?s=80&v=4"},"commit":{"message":"update lib file header documentation","shortMessageHtmlLink":"update lib file header documentation"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNi0wN1QxODoyMjoyMi4wMDAwMDBazwAAAARffpUn","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMi0xMlQyMDo1NToxMy4wMDAwMDBazwAAAAP41xo6"}},"title":"Activity ยท warrengalyen/ocular"}