{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":798502317,"defaultBranch":"main","name":"Face-Labeler-Pilot-Workflow","ownerLogin":"peterjakubowski","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-05-09T22:53:59.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/97050386?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1717028992.0","currentOid":""},"activityList":{"items":[{"before":"df5a45ea476fa7625f1052a4a2f70f93a2ff7867","after":null,"ref":"refs/heads/17-add-export-metadata-to-csv","pushedAt":"2024-05-30T00:29:52.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"peterjakubowski","name":"Peter Jakubowski","path":"/peterjakubowski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97050386?s=80&v=4"}},{"before":"4f0908d79f9d2994552aa5a89d0042077394db19","after":"81b330529e9f443891322017bce580b714289c89","ref":"refs/heads/main","pushedAt":"2024-05-30T00:29:45.000Z","pushType":"pr_merge","commitsCount":5,"pusher":{"login":"peterjakubowski","name":"Peter Jakubowski","path":"/peterjakubowski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97050386?s=80&v=4"},"commit":{"message":"Merge pull request #20 from peterjakubowski/17-add-export-metadata-to-csv\n\n17 add export metadata to csv","shortMessageHtmlLink":"Merge pull request #20 from peterjakubowski/17-add-export-metadata-to…"}},{"before":"e2f7e19da3dd75d32d891980d4e73b32aa34db64","after":"df5a45ea476fa7625f1052a4a2f70f93a2ff7867","ref":"refs/heads/17-add-export-metadata-to-csv","pushedAt":"2024-05-30T00:20:53.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"peterjakubowski","name":"Peter Jakubowski","path":"/peterjakubowski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97050386?s=80&v=4"},"commit":{"message":"Update face_labeler_pilot_workflow.py\n\nUpdated the list of image paths to a sorted list sorting by the image filename.","shortMessageHtmlLink":"Update face_labeler_pilot_workflow.py"}},{"before":"4f0908d79f9d2994552aa5a89d0042077394db19","after":"e2f7e19da3dd75d32d891980d4e73b32aa34db64","ref":"refs/heads/17-add-export-metadata-to-csv","pushedAt":"2024-05-29T03:53:08.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"peterjakubowski","name":"Peter Jakubowski","path":"/peterjakubowski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97050386?s=80&v=4"},"commit":{"message":"Update face_labeler_pilot_workflow.py\n\nCreated and implemented new W, H, X, Y Face class attributes.","shortMessageHtmlLink":"Update face_labeler_pilot_workflow.py"}},{"before":null,"after":"4f0908d79f9d2994552aa5a89d0042077394db19","ref":"refs/heads/17-add-export-metadata-to-csv","pushedAt":"2024-05-28T23:34:37.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"peterjakubowski","name":"Peter Jakubowski","path":"/peterjakubowski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97050386?s=80&v=4"},"commit":{"message":"Merge pull request #19 from peterjakubowski/15-stop-workflow-when-0-faces-found\n\nUpdate face_labeler_pilot_workflow.py","shortMessageHtmlLink":"Merge pull request #19 from peterjakubowski/15-stop-workflow-when-0-f…"}},{"before":"36e36e1dd1b1b2721be54ee8d625a70cbb64c6df","after":null,"ref":"refs/heads/15-stop-workflow-when-0-faces-found","pushedAt":"2024-05-28T23:30:20.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"peterjakubowski","name":"Peter Jakubowski","path":"/peterjakubowski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97050386?s=80&v=4"}},{"before":"0219792b117d92c8caf930e0c376310a3170c6eb","after":"4f0908d79f9d2994552aa5a89d0042077394db19","ref":"refs/heads/main","pushedAt":"2024-05-28T23:30:15.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"peterjakubowski","name":"Peter Jakubowski","path":"/peterjakubowski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97050386?s=80&v=4"},"commit":{"message":"Merge pull request #19 from peterjakubowski/15-stop-workflow-when-0-faces-found\n\nUpdate face_labeler_pilot_workflow.py","shortMessageHtmlLink":"Merge pull request #19 from peterjakubowski/15-stop-workflow-when-0-f…"}},{"before":"0219792b117d92c8caf930e0c376310a3170c6eb","after":"36e36e1dd1b1b2721be54ee8d625a70cbb64c6df","ref":"refs/heads/15-stop-workflow-when-0-faces-found","pushedAt":"2024-05-28T23:29:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"peterjakubowski","name":"Peter Jakubowski","path":"/peterjakubowski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97050386?s=80&v=4"},"commit":{"message":"Update face_labeler_pilot_workflow.py\n\nAdded a condition that checks if we detected any faces, if we didn't detect any faces, then we delete the `detected_faces` queue from the streamlit session state and display a message (streamlit warning message). Without a queue in the session state, the workflow can not continue to the next step.","shortMessageHtmlLink":"Update face_labeler_pilot_workflow.py"}},{"before":null,"after":"0219792b117d92c8caf930e0c376310a3170c6eb","ref":"refs/heads/15-stop-workflow-when-0-faces-found","pushedAt":"2024-05-28T22:39:26.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"peterjakubowski","name":"Peter Jakubowski","path":"/peterjakubowski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97050386?s=80&v=4"},"commit":{"message":"Merge pull request #18 from peterjakubowski/2-image-resizing-options\n\n2 image resizing options","shortMessageHtmlLink":"Merge pull request #18 from peterjakubowski/2-image-resizing-options"}},{"before":"d38eefcc12215dde49d8bd58bbae5dd868d24b98","after":null,"ref":"refs/heads/2-image-resizing-options","pushedAt":"2024-05-25T01:58:09.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"peterjakubowski","name":"Peter Jakubowski","path":"/peterjakubowski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97050386?s=80&v=4"}},{"before":"131ee22bd2d9bc75b661e4b131d118a4caa8878b","after":"0219792b117d92c8caf930e0c376310a3170c6eb","ref":"refs/heads/main","pushedAt":"2024-05-25T01:58:03.000Z","pushType":"pr_merge","commitsCount":16,"pusher":{"login":"peterjakubowski","name":"Peter Jakubowski","path":"/peterjakubowski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97050386?s=80&v=4"},"commit":{"message":"Merge pull request #18 from peterjakubowski/2-image-resizing-options\n\n2 image resizing options","shortMessageHtmlLink":"Merge pull request #18 from peterjakubowski/2-image-resizing-options"}},{"before":"131ee22bd2d9bc75b661e4b131d118a4caa8878b","after":"d38eefcc12215dde49d8bd58bbae5dd868d24b98","ref":"refs/heads/2-image-resizing-options","pushedAt":"2024-05-25T01:51:24.000Z","pushType":"push","commitsCount":15,"pusher":{"login":"peterjakubowski","name":"Peter Jakubowski","path":"/peterjakubowski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97050386?s=80&v=4"},"commit":{"message":"Update face_labeler_pilot_workflow.py\n\nUpdated calls to renamed methods.","shortMessageHtmlLink":"Update face_labeler_pilot_workflow.py"}},{"before":null,"after":"131ee22bd2d9bc75b661e4b131d118a4caa8878b","ref":"refs/heads/2-image-resizing-options","pushedAt":"2024-05-24T19:25:04.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"peterjakubowski","name":"Peter Jakubowski","path":"/peterjakubowski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97050386?s=80&v=4"},"commit":{"message":"Merge pull request #16 from peterjakubowski/9-label-steps-in-workflow\n\n9 label steps in workflow","shortMessageHtmlLink":"Merge pull request #16 from peterjakubowski/9-label-steps-in-workflow"}},{"before":"b1639afdbd95dbefdbc75f71d3648936518b124b","after":null,"ref":"refs/heads/9-label-steps-in-workflow","pushedAt":"2024-05-24T19:22:24.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"peterjakubowski","name":"Peter Jakubowski","path":"/peterjakubowski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97050386?s=80&v=4"}},{"before":"647c42a70ece7c2fb721d6e2913a0f50949bbacd","after":"131ee22bd2d9bc75b661e4b131d118a4caa8878b","ref":"refs/heads/main","pushedAt":"2024-05-24T19:22:12.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"peterjakubowski","name":"Peter Jakubowski","path":"/peterjakubowski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97050386?s=80&v=4"},"commit":{"message":"Merge pull request #16 from peterjakubowski/9-label-steps-in-workflow\n\n9 label steps in workflow","shortMessageHtmlLink":"Merge pull request #16 from peterjakubowski/9-label-steps-in-workflow"}},{"before":"647c42a70ece7c2fb721d6e2913a0f50949bbacd","after":"b1639afdbd95dbefdbc75f71d3648936518b124b","ref":"refs/heads/9-label-steps-in-workflow","pushedAt":"2024-05-22T19:17:36.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"peterjakubowski","name":"Peter Jakubowski","path":"/peterjakubowski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97050386?s=80&v=4"},"commit":{"message":"Update face_labeler_pilot_workflow.py\n\nModified the`detect_faces` button its position in the workflow.\n\nChanged the label visibility to 'collapsed' (hidden and space removed) and added placeholder text that communicates to the user to 'choose a folder of images'.\n\nThe button is now only visible when a folder is selected so that it can only be pressed once the user has seleced a folder of images to act on.","shortMessageHtmlLink":"Update face_labeler_pilot_workflow.py"}},{"before":null,"after":"647c42a70ece7c2fb721d6e2913a0f50949bbacd","ref":"refs/heads/9-label-steps-in-workflow","pushedAt":"2024-05-21T22:49:08.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"peterjakubowski","name":"Peter Jakubowski","path":"/peterjakubowski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97050386?s=80&v=4"},"commit":{"message":"Merge pull request #14 from peterjakubowski/13-check-watch_folder-directory-exists\n\n13 check watch folder directory exists","shortMessageHtmlLink":"Merge pull request #14 from peterjakubowski/13-check-watch_folder-dir…"}},{"before":"daaea7a50d683cb8d0d8360615154d246ab97a06","after":null,"ref":"refs/heads/13-check-watch_folder-directory-exists","pushedAt":"2024-05-16T22:08:15.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"peterjakubowski","name":"Peter Jakubowski","path":"/peterjakubowski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97050386?s=80&v=4"}},{"before":"7d52b74971e152c840ca082a89349840f18c9ca1","after":"647c42a70ece7c2fb721d6e2913a0f50949bbacd","ref":"refs/heads/main","pushedAt":"2024-05-16T22:07:57.000Z","pushType":"pr_merge","commitsCount":5,"pusher":{"login":"peterjakubowski","name":"Peter Jakubowski","path":"/peterjakubowski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97050386?s=80&v=4"},"commit":{"message":"Merge pull request #14 from peterjakubowski/13-check-watch_folder-directory-exists\n\n13 check watch folder directory exists","shortMessageHtmlLink":"Merge pull request #14 from peterjakubowski/13-check-watch_folder-dir…"}},{"before":"7d52b74971e152c840ca082a89349840f18c9ca1","after":"daaea7a50d683cb8d0d8360615154d246ab97a06","ref":"refs/heads/13-check-watch_folder-directory-exists","pushedAt":"2024-05-16T22:02:20.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"peterjakubowski","name":"Peter Jakubowski","path":"/peterjakubowski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97050386?s=80&v=4"},"commit":{"message":"Update face_labeler_pilot_workflow.py\n\nChanged the flow of of the workflow once labeling has been completed. If there are no labeled faces, the workflow ends. If there are labeled faces, the workflow proceeds like before giving a summary of counts of faces labeled and the option to embed the metadata in the image file.","shortMessageHtmlLink":"Update face_labeler_pilot_workflow.py"}},{"before":null,"after":"7d52b74971e152c840ca082a89349840f18c9ca1","ref":"refs/heads/13-check-watch_folder-directory-exists","pushedAt":"2024-05-16T20:25:09.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"peterjakubowski","name":"Peter Jakubowski","path":"/peterjakubowski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97050386?s=80&v=4"},"commit":{"message":"Update face_labeler_pilot_workflow.py\n\nFixed unresolved variables.","shortMessageHtmlLink":"Update face_labeler_pilot_workflow.py"}},{"before":"60324d956b02929f64a4cf3d7aa2c7017f243653","after":"7d52b74971e152c840ca082a89349840f18c9ca1","ref":"refs/heads/main","pushedAt":"2024-05-16T04:04:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"peterjakubowski","name":"Peter Jakubowski","path":"/peterjakubowski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97050386?s=80&v=4"},"commit":{"message":"Update face_labeler_pilot_workflow.py\n\nFixed unresolved variables.","shortMessageHtmlLink":"Update face_labeler_pilot_workflow.py"}},{"before":"90d15009d59081ea8b38e784725c9cad88b480b3","after":null,"ref":"refs/heads/5-create-face-class","pushedAt":"2024-05-16T03:56:08.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"peterjakubowski","name":"Peter Jakubowski","path":"/peterjakubowski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97050386?s=80&v=4"}},{"before":"b791113d9471f84284c439448ea5d1a95839b564","after":"60324d956b02929f64a4cf3d7aa2c7017f243653","ref":"refs/heads/main","pushedAt":"2024-05-16T03:55:12.000Z","pushType":"pr_merge","commitsCount":5,"pusher":{"login":"peterjakubowski","name":"Peter Jakubowski","path":"/peterjakubowski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97050386?s=80&v=4"},"commit":{"message":"Merge pull request #12 from peterjakubowski/5-create-face-class\n\n5 create face class","shortMessageHtmlLink":"Merge pull request #12 from peterjakubowski/5-create-face-class"}},{"before":"0052fd51af5dcecc6b03c8266f89115478720727","after":"90d15009d59081ea8b38e784725c9cad88b480b3","ref":"refs/heads/5-create-face-class","pushedAt":"2024-05-16T03:46:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"peterjakubowski","name":"Peter Jakubowski","path":"/peterjakubowski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97050386?s=80&v=4"},"commit":{"message":"Update face_labeler_pilot_workflow.py\n\nAdded `normalize_region` method to Face class and modified `open_image` method to open an image cropped to the region containing the current face.","shortMessageHtmlLink":"Update face_labeler_pilot_workflow.py"}},{"before":"b791113d9471f84284c439448ea5d1a95839b564","after":"0052fd51af5dcecc6b03c8266f89115478720727","ref":"refs/heads/5-create-face-class","pushedAt":"2024-05-16T03:18:28.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"peterjakubowski","name":"Peter Jakubowski","path":"/peterjakubowski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97050386?s=80&v=4"},"commit":{"message":"Update face_labeler_pilot_workflow.py\n\nFurther introduced the Face class throughout the workflow.","shortMessageHtmlLink":"Update face_labeler_pilot_workflow.py"}},{"before":null,"after":"b791113d9471f84284c439448ea5d1a95839b564","ref":"refs/heads/5-create-face-class","pushedAt":"2024-05-11T21:59:45.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"peterjakubowski","name":"Peter Jakubowski","path":"/peterjakubowski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97050386?s=80&v=4"},"commit":{"message":"Merge pull request #8 from peterjakubowski/3-fix-faces_detected-queue\n\nUpdate face_labeler_pilot_workflow.py","shortMessageHtmlLink":"Merge pull request #8 from peterjakubowski/3-fix-faces_detected-queue"}},{"before":"2f5541007ebb6f17a270146c69fdf401dad3534f","after":null,"ref":"refs/heads/3-fix-faces_detected-queue","pushedAt":"2024-05-11T21:37:52.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"peterjakubowski","name":"Peter Jakubowski","path":"/peterjakubowski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97050386?s=80&v=4"}},{"before":"d916e7e1aeadfcc44f7c569d96e41b6e6ea95a46","after":"b791113d9471f84284c439448ea5d1a95839b564","ref":"refs/heads/main","pushedAt":"2024-05-11T21:37:41.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"peterjakubowski","name":"Peter Jakubowski","path":"/peterjakubowski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97050386?s=80&v=4"},"commit":{"message":"Merge pull request #8 from peterjakubowski/3-fix-faces_detected-queue\n\nUpdate face_labeler_pilot_workflow.py","shortMessageHtmlLink":"Merge pull request #8 from peterjakubowski/3-fix-faces_detected-queue"}},{"before":"d916e7e1aeadfcc44f7c569d96e41b6e6ea95a46","after":"2f5541007ebb6f17a270146c69fdf401dad3534f","ref":"refs/heads/3-fix-faces_detected-queue","pushedAt":"2024-05-11T21:36:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"peterjakubowski","name":"Peter Jakubowski","path":"/peterjakubowski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/97050386?s=80&v=4"},"commit":{"message":"Update face_labeler_pilot_workflow.py\n\nUpdated how we interact with the `faces_detected` queue. Instead of popping a face from the queue when retrieving the `current_face`, we peek at the face that is first in the queue. Then, if we record a name or skip a face, we pop (popleft) the first face from the queue to move on to the next face.\n\nI think the `record_face()` function could still be improved, but works for now. There are three conditions where we pop the face from the queue. This could be made more efficient so we are not writing three identical lines of code.","shortMessageHtmlLink":"Update face_labeler_pilot_workflow.py"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEV32BRgA","startCursor":null,"endCursor":null}},"title":"Activity · peterjakubowski/Face-Labeler-Pilot-Workflow"}