From fc48776aded682f71806d5ccaa2d85456784c426 Mon Sep 17 00:00:00 2001 From: Bre Naidu Date: Mon, 2 Mar 2026 11:15:11 -0600 Subject: [PATCH 1/4] Extract Bone Box Lower Limb PowerPoint data - Extracted 57 slides from Lower Limb PowerPoint - Extracted bone images (150+ images) - Extracted bone descriptions (57 bones with descriptions) - Extracted bone hierarchy (boneset structure) - Extracted colored regions annotations (46 slides) - Extracted text label annotations (4 labeled slides) Files prepared in: data_extraction/Bone_Box_Lower_Limb_extracted/ Pending: Final cleanup and organization per DataPelvis structure --- .../bone_descriptions.json | 760 +++++ .../bonesets.json | 13 + .../extraction_summary.json | 390 +++ .../slide10_bony_pelvis_lateral.png | Bin 0 -> 129790 bytes .../slide10_precise_paths.json | 143 + .../slide11_bony_pelvis_lateral.png | Bin 0 -> 105422 bytes .../slide11_precise_paths.json | 90 + .../slide12_bony_pelvis_lateral.png | Bin 0 -> 55659 bytes .../slide12_bony_pelvis_medial.png | Bin 0 -> 48368 bytes .../slide12_precise_paths.json | 451 +++ .../slide13_bony_pelvis_lateral.png | Bin 0 -> 80452 bytes .../slide13_bony_pelvis_medial.png | Bin 0 -> 92527 bytes .../slide13_precise_paths.json | 381 +++ .../slide14_bony_pelvis_lateral.png | Bin 0 -> 113287 bytes .../slide14_bony_pelvis_medial.png | Bin 0 -> 92933 bytes .../slide14_precise_paths.json | 795 +++++ .../slide15_bony_pelvis_lateral.png | Bin 0 -> 94166 bytes .../slide15_bony_pelvis_medial.png | Bin 0 -> 76932 bytes .../slide15_precise_paths.json | 161 + .../slide16_bony_pelvis_lateral.png | Bin 0 -> 115614 bytes .../slide16_bony_pelvis_medial.png | Bin 0 -> 67939 bytes .../slide16_precise_paths.json | 363 ++ .../slide17_bony_pelvis_lateral.png | Bin 0 -> 93254 bytes .../slide17_bony_pelvis_medial.png | Bin 0 -> 68398 bytes .../slide17_precise_paths.json | 353 ++ .../slide18_bony_pelvis_lateral.png | Bin 0 -> 75207 bytes .../slide18_bony_pelvis_medial.png | Bin 0 -> 79168 bytes .../slide19_bony_pelvis_lateral.png | Bin 0 -> 75207 bytes .../slide19_bony_pelvis_medial.png | Bin 0 -> 79168 bytes .../slide19_text_labels.json | 9 + .../slide20_bony_pelvis_lateral.png | Bin 0 -> 128059 bytes .../slide20_precise_paths.json | 884 +++++ .../slide21_bony_pelvis_lateral.png | Bin 0 -> 112570 bytes .../slide21_precise_paths.json | 489 +++ .../slide22_bony_pelvis_lateral.png | Bin 0 -> 65599 bytes .../slide22_bony_pelvis_medial.png | Bin 0 -> 69108 bytes .../slide23_bony_pelvis_lateral.png | Bin 0 -> 65599 bytes .../slide23_bony_pelvis_medial.png | Bin 0 -> 69108 bytes .../slide23_text_labels.json | 9 + .../slide24_bony_pelvis_lateral.png | Bin 0 -> 65599 bytes .../slide24_bony_pelvis_medial.png | Bin 0 -> 69108 bytes .../slide24_precise_paths.json | 571 ++++ .../slide25_bony_pelvis_lateral.png | Bin 0 -> 65599 bytes .../slide25_bony_pelvis_medial.png | Bin 0 -> 77265 bytes .../slide25_precise_paths.json | 263 ++ .../slide26_bony_pelvis_lateral.png | Bin 0 -> 65599 bytes .../slide26_bony_pelvis_medial.png | Bin 0 -> 77265 bytes .../slide26_precise_paths.json | 287 ++ .../slide27_bony_pelvis_lateral.png | Bin 0 -> 65599 bytes .../slide27_bony_pelvis_medial.png | Bin 0 -> 69108 bytes .../slide27_precise_paths.json | 616 ++++ .../slide28_bony_pelvis_lateral.png | Bin 0 -> 65599 bytes .../slide28_bony_pelvis_medial.png | Bin 0 -> 69108 bytes .../slide28_precise_paths.json | 440 +++ .../slide29_bony_pelvis_lateral.png | Bin 0 -> 65599 bytes .../slide29_bony_pelvis_medial.png | Bin 0 -> 69108 bytes .../slide29_precise_paths.json | 310 ++ .../slide2_bony_pelvis_lateral.png | Bin 0 -> 21365 bytes .../slide2_bony_pelvis_medial.png | Bin 0 -> 4098 bytes .../slide2_bony_pelvis_view10.png | Bin 0 -> 18821 bytes .../slide2_bony_pelvis_view3.jpeg | Bin 0 -> 2416 bytes .../slide2_bony_pelvis_view4.png | Bin 0 -> 9475 bytes .../slide2_bony_pelvis_view5.png | Bin 0 -> 10393 bytes .../slide2_bony_pelvis_view6.png | Bin 0 -> 19809 bytes .../slide2_bony_pelvis_view7.png | Bin 0 -> 3051 bytes .../slide2_bony_pelvis_view8.jpeg | Bin 0 -> 2978 bytes .../slide2_bony_pelvis_view9.png | Bin 0 -> 6739 bytes .../slide30_bony_pelvis_lateral.png | Bin 0 -> 69108 bytes .../slide30_bony_pelvis_medial.png | Bin 0 -> 79385 bytes .../slide30_precise_paths.json | 581 ++++ .../slide31_bony_pelvis_lateral.png | Bin 0 -> 65599 bytes .../slide31_bony_pelvis_medial.png | Bin 0 -> 69108 bytes .../slide31_precise_paths.json | 398 +++ .../slide32_bony_pelvis_lateral.png | Bin 0 -> 8953 bytes .../slide32_bony_pelvis_medial.jpeg | Bin 0 -> 15774 bytes .../slide33_bony_pelvis_lateral.png | Bin 0 -> 8953 bytes .../slide33_bony_pelvis_medial.jpeg | Bin 0 -> 15774 bytes .../slide33_text_labels.json | 9 + .../slide34_bony_pelvis_lateral.png | Bin 0 -> 8953 bytes .../slide34_bony_pelvis_medial.jpeg | Bin 0 -> 15774 bytes .../slide34_precise_paths.json | 363 ++ .../slide35_bony_pelvis_lateral.png | Bin 0 -> 8953 bytes .../slide35_bony_pelvis_medial.jpeg | Bin 0 -> 15774 bytes .../slide35_precise_paths.json | 544 +++ .../slide36_bony_pelvis_lateral.png | Bin 0 -> 8953 bytes .../slide36_bony_pelvis_medial.jpeg | Bin 0 -> 15774 bytes .../slide36_precise_paths.json | 266 ++ .../slide37_bony_pelvis_lateral.png | Bin 0 -> 8953 bytes .../slide37_bony_pelvis_medial.jpeg | Bin 0 -> 15774 bytes .../slide37_precise_paths.json | 221 ++ .../slide38_bony_pelvis_lateral.png | Bin 0 -> 8953 bytes .../slide38_bony_pelvis_medial.jpeg | Bin 0 -> 15774 bytes .../slide38_precise_paths.json | 155 + .../slide39_bony_pelvis_lateral.png | Bin 0 -> 8953 bytes .../slide39_bony_pelvis_medial.jpeg | Bin 0 -> 15774 bytes .../slide39_precise_paths.json | 358 ++ .../slide3_bony_pelvis_lateral.png | Bin 0 -> 55430 bytes .../slide3_bony_pelvis_medial.png | Bin 0 -> 48368 bytes .../slide40_bony_pelvis_lateral.png | Bin 0 -> 8953 bytes .../slide40_bony_pelvis_medial.jpeg | Bin 0 -> 15774 bytes .../slide40_precise_paths.json | 252 ++ .../slide41_bony_pelvis_lateral.png | Bin 0 -> 8953 bytes .../slide41_bony_pelvis_medial.jpeg | Bin 0 -> 15774 bytes .../slide41_precise_paths.json | 400 +++ .../slide42_bony_pelvis_lateral.png | Bin 0 -> 8953 bytes .../slide42_bony_pelvis_medial.jpeg | Bin 0 -> 15774 bytes .../slide42_precise_paths.json | 307 ++ .../slide43_bony_pelvis_lateral.png | Bin 0 -> 138801 bytes .../slide43_bony_pelvis_medial.png | Bin 0 -> 134502 bytes .../slide44_bony_pelvis_lateral.png | Bin 0 -> 138801 bytes .../slide44_bony_pelvis_medial.png | Bin 0 -> 134502 bytes .../slide44_precise_paths.json | 819 +++++ .../slide45_bony_pelvis_lateral.png | Bin 0 -> 138801 bytes .../slide45_bony_pelvis_medial.png | Bin 0 -> 134502 bytes .../slide45_precise_paths.json | 150 + .../slide46_bony_pelvis_lateral.png | Bin 0 -> 138801 bytes .../slide46_bony_pelvis_medial.png | Bin 0 -> 134502 bytes .../slide46_precise_paths.json | 201 ++ .../slide47_bony_pelvis_lateral.png | Bin 0 -> 138801 bytes .../slide47_bony_pelvis_medial.png | Bin 0 -> 134502 bytes .../slide47_precise_paths.json | 601 ++++ .../slide48_bony_pelvis_lateral.png | Bin 0 -> 138801 bytes .../slide48_bony_pelvis_medial.png | Bin 0 -> 134502 bytes .../slide48_precise_paths.json | 488 +++ .../slide49_bony_pelvis_lateral.png | Bin 0 -> 138801 bytes .../slide49_bony_pelvis_medial.png | Bin 0 -> 134502 bytes .../slide49_precise_paths.json | 438 +++ .../slide4_bony_pelvis_lateral.png | Bin 0 -> 55659 bytes .../slide4_bony_pelvis_medial.png | Bin 0 -> 48368 bytes .../slide4_text_labels.json | 9 + .../slide50_bony_pelvis_lateral.png | Bin 0 -> 138801 bytes .../slide50_bony_pelvis_medial.png | Bin 0 -> 134502 bytes .../slide50_precise_paths.json | 498 +++ .../slide51_bony_pelvis_lateral.png | Bin 0 -> 138801 bytes .../slide51_bony_pelvis_medial.png | Bin 0 -> 134502 bytes .../slide51_precise_paths.json | 368 +++ .../slide52_bony_pelvis_lateral.png | Bin 0 -> 138801 bytes .../slide52_bony_pelvis_medial.png | Bin 0 -> 134502 bytes .../slide52_precise_paths.json | 423 +++ .../slide53_bony_pelvis_lateral.png | Bin 0 -> 138801 bytes .../slide54_bony_pelvis_lateral.png | Bin 0 -> 138801 bytes .../slide54_bony_pelvis_medial.png | Bin 0 -> 134502 bytes .../slide54_precise_paths.json | 693 ++++ .../slide55_bony_pelvis_lateral.png | Bin 0 -> 138801 bytes .../slide55_bony_pelvis_medial.png | Bin 0 -> 134502 bytes .../slide55_precise_paths.json | 573 ++++ .../slide56_bony_pelvis_lateral.png | Bin 0 -> 138801 bytes .../slide56_bony_pelvis_medial.png | Bin 0 -> 134502 bytes .../slide56_precise_paths.json | 568 ++++ .../slide57_bony_pelvis_lateral.png | Bin 0 -> 138801 bytes .../slide57_bony_pelvis_medial.png | Bin 0 -> 134502 bytes .../slide57_precise_paths.json | 2880 ++++++++++++++++ .../slide58_bony_pelvis_lateral.png | Bin 0 -> 138801 bytes .../slide58_bony_pelvis_medial.png | Bin 0 -> 134502 bytes .../slide58_precise_paths.json | 2935 +++++++++++++++++ .../slide5_bony_pelvis_lateral.png | Bin 0 -> 92731 bytes .../slide5_bony_pelvis_medial.png | Bin 0 -> 82660 bytes .../slide5_bony_pelvis_view3.png | Bin 0 -> 10181 bytes .../slide5_precise_paths.json | 723 ++++ .../slide6_bony_pelvis_lateral.png | Bin 0 -> 92731 bytes .../slide6_bony_pelvis_medial.png | Bin 0 -> 82660 bytes .../slide6_bony_pelvis_view3.png | Bin 0 -> 60167 bytes .../slide6_precise_paths.json | 421 +++ .../slide7_bony_pelvis_lateral.png | Bin 0 -> 87959 bytes .../slide7_bony_pelvis_medial.png | Bin 0 -> 83048 bytes .../slide7_precise_paths.json | 441 +++ .../slide8_bony_pelvis_lateral.png | Bin 0 -> 86664 bytes .../slide8_bony_pelvis_medial.png | Bin 0 -> 83048 bytes .../slide8_bony_pelvis_view3.png | Bin 0 -> 9042 bytes .../slide8_precise_paths.json | 314 ++ .../slide9_bony_pelvis_lateral.png | Bin 0 -> 87959 bytes .../slide9_bony_pelvis_medial.png | Bin 0 -> 80452 bytes .../slide9_precise_paths.json | 317 ++ 173 files changed, 25492 insertions(+) create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/bone_descriptions.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/bonesets.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/extraction_summary.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide10_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide10_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide11_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide11_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide12_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide12_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide12_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide13_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide13_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide13_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide14_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide14_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide14_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide15_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide15_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide15_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide16_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide16_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide16_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide17_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide17_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide17_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide18_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide18_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide19_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide19_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide19_text_labels.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide20_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide20_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide21_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide21_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide22_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide22_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide23_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide23_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide23_text_labels.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide24_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide24_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide24_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide25_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide25_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide25_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide26_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide26_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide26_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide27_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide27_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide27_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide28_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide28_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide28_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide29_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide29_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide29_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide2_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide2_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide2_bony_pelvis_view10.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide2_bony_pelvis_view3.jpeg create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide2_bony_pelvis_view4.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide2_bony_pelvis_view5.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide2_bony_pelvis_view6.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide2_bony_pelvis_view7.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide2_bony_pelvis_view8.jpeg create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide2_bony_pelvis_view9.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide30_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide30_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide30_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide31_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide31_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide31_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide32_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide32_bony_pelvis_medial.jpeg create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide33_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide33_bony_pelvis_medial.jpeg create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide33_text_labels.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide34_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide34_bony_pelvis_medial.jpeg create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide34_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide35_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide35_bony_pelvis_medial.jpeg create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide35_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide36_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide36_bony_pelvis_medial.jpeg create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide36_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide37_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide37_bony_pelvis_medial.jpeg create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide37_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide38_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide38_bony_pelvis_medial.jpeg create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide38_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide39_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide39_bony_pelvis_medial.jpeg create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide39_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide3_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide3_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide40_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide40_bony_pelvis_medial.jpeg create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide40_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide41_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide41_bony_pelvis_medial.jpeg create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide41_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide42_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide42_bony_pelvis_medial.jpeg create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide42_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide43_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide43_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide44_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide44_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide44_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide45_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide45_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide45_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide46_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide46_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide46_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide47_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide47_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide47_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide48_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide48_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide48_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide49_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide49_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide49_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide4_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide4_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide4_text_labels.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide50_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide50_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide50_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide51_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide51_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide51_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide52_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide52_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide52_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide53_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide54_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide54_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide54_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide55_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide55_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide55_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide56_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide56_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide56_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide57_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide57_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide57_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide58_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide58_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide58_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide5_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide5_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide5_bony_pelvis_view3.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide5_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide6_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide6_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide6_bony_pelvis_view3.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide6_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide7_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide7_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide7_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide8_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide8_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide8_bony_pelvis_view3.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide8_precise_paths.json create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide9_bony_pelvis_lateral.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide9_bony_pelvis_medial.png create mode 100644 data_extraction/Bone_Box_Lower_Limb_extracted/slide9_precise_paths.json diff --git a/data_extraction/Bone_Box_Lower_Limb_extracted/bone_descriptions.json b/data_extraction/Bone_Box_Lower_Limb_extracted/bone_descriptions.json new file mode 100644 index 00000000..b84e103d --- /dev/null +++ b/data_extraction/Bone_Box_Lower_Limb_extracted/bone_descriptions.json @@ -0,0 +1,760 @@ +{ + "metadata": { + "source": "Extract_Bone_Descriptions.py", + "total_slides_processed": 57, + "total_bones_extracted": 57, + "total_slides_skipped": 0 + }, + "bones": [ + { + "name": "Femur", + "id": "femur", + "description": [ + "Lower Limb", + "Patella", + "Tibia", + "Fibula", + "Foot", + "Right lower limb ", + "(anterior aspect)", + "Right lower limb ", + "(posterior aspect)" + ] + }, + { + "name": "Femur", + "id": "femur", + "description": [ + "No labels", + "Longest bone in the human body.", + "Proximal head articulates with acetabulum of the pelvis to form hip joint.", + "Distal end articulates with the tibia to form the knee joint.", + "Shaft is long, mostly cylindrical, and has a slight anterior curve." + ] + }, + { + "name": "Labels", + "id": "labels", + "description": [ + "Lower Limb", + "Femur", + "Patella", + "Tibia", + "Fibula", + "Foot", + "Right Femur ", + "(anterior aspect) ", + "Right Femur ", + "(posterior aspect) ", + "Head", + "Neck", + "Greater trochanter", + "Lesser trochanter", + "Intertrochanteric line and crest", + "Gluteal tuberosity", + "Pectineal line", + "Shaft", + "Linea aspera", + "Condyles", + "Adductor tubercle", + "Intercondylar fossa", + "Patellar surface" + ] + }, + { + "name": "Head", + "id": "head", + "description": [ + "Faces anteriorly, superiorly, and medially", + "Spheroidal in shape", + "Articulates with the acetabulum of the pelvis to form the hip joint", + "Surface is mostly smooth, except for the", + "fovea", + "on posteroinferior surface", + "Completely enclosed by the joint capsule", + "Fovea", + "is a shallow pit on posteromedial surface of head", + "Serves as attachment for round ligament of the femur", + "Labels" + ] + }, + { + "name": "Neck", + "id": "neck", + "description": [ + "Connects the head to the shaft", + "Anterior surface is flat, intracapsular, and joins the shaft at the", + "intertrochanteric line", + "Posterior surface is concave in its long axis, partially intracapsular, and joins the shaft at the", + "intertrochanteric crest", + "Trochanteric fossa:", + "A depression that lies between the medial surface of the greater trochanter and the neck", + "Receives the tendon for obturator externus muscle", + "Labels" + ] + }, + { + "name": "Greater trochanter", + "id": "greater_trochanter", + "description": [ + "A projection that arises from junction of the neck and the shaft", + "Lateral surface can be palpated", + "Gluteus minimus muscle attaches to anterolateral surface", + "Gluteus medius muscle attaches to lateral surface", + "Tendon of the piriformis muscle attaches to the posterior surface at the superior border", + "Common tendon of the obturator internus muscle and both gamelli muscles are attached to posterior surface just below piriformis muscle", + "Labels" + ] + }, + { + "name": "Lesser trochanter", + "id": "lesser_trochanter", + "description": [ + "Conical projection from posteromedial aspect of the shaft at its junction with the neck", + "Tendons of iliacus and psoas major muscles join together to attach to the anterior and medial surface", + "Upper part of the adductor magnus muscle passes over posterior surface", + "Labels" + ] + }, + { + "name": "Intertrochanteric line", + "id": "intertrochanteric_line", + "description": [ + "Ridge that lies between the neck and shaft on the anterior surface", + "Represents lateral limit of the hip joint capsule", + "Intertrochanteric crest", + "A smooth ridge that marks the junction of the neck with the shaft on the posterior surface", + "The proximal part forms the", + "quadrate tubercle", + "and is insertion for the quadratus femoris muscle", + "Labels" + ] + }, + { + "name": "Gluteal tuberosity", + "id": "gluteal_tuberosity", + "description": [ + "An elongated ridge that lies distal to greater trochanter and continues distally as lateral lip of linea aspera", + "Insertion site for deeper fibers of distal half of gluteus maximus muscle", + "Labels" + ] + }, + { + "name": "Pectineal line", + "id": "pectineal_line", + "description": [ + "Also called \u201cspiral line\u201d", + "A rough ridge that runs from base of lesser trochanter to linea aspera", + "Proximally, it is continuous with the anterior", + "intertrochanteric line", + "Serves as insertion site for pectineus muscle", + "Labels" + ] + }, + { + "name": "Shaft", + "id": "shaft", + "description": [ + "Completely surrounded by muscles", + "Distal surface, just above patellar surface, is covered by suprapatellar bursa", + "Medial surface has no attachments, but is covered by vastus medialis", + "Posterior surface contains", + "linea aspera", + "Vastus intermedius is attached to anterior and lateral surfaces of the proximal two-thirds \u2013 almost entire circumference except", + "linea aspera", + "Labels" + ] + }, + { + "name": "Linea aspera", + "id": "linea_aspera", + "description": [ + "A rough line on posterior surface made up of medial and lateral ridges and an intermediate line", + "Intermuscular septum, vastus lateralis, adductor magnus, and short head of biceps femoris muscles attach to lateral ridge", + "Adductors brevis and longus muscles attach to the intermediate line", + "Vastus medialis muscle and the intermuscular septum attach to medial ridge", + "Adductor magnus muscle attaches to medial supracondylar line distally to adductor tubercle", + "Labels" + ] + }, + { + "name": "Condyles", + "id": "condyles", + "description": [ + "Expanded, distal end of shaft", + "Articulate with medial and lateral condyles of tibia through knee joint", + "Most prominent point is lateral epicondyle and receives the lateral collateral ligament", + "Lateral condyle contains a short groove that separates the lateral epicondyle from the articular surface - allows the tendon of popliteus muscle to run deep to the lateral collateral ligament", + "Medial epicondyle receives the medial collateral ligament", + "Labels" + ] + }, + { + "name": "Adductor tubercle", + "id": "adductor_tubercle", + "description": [ + "A projection that arises at the end of the medial supracondylar line on the superior surface of the medial condyle", + "Serves as attachment for the tendon of adductor magnus muscle", + "Labels" + ] + }, + { + "name": "Intercondylar fossa", + "id": "intercondylar_fossa", + "description": [ + "A depression that separates the two condyles distally and posteriorly", + "Anteriorly, it is continuous with the", + "patellar surface", + "Separated from popliteal surface by a intercondylar line", + "Anterior cruciate ligament attaches to a flat impression on the lateral wall", + "Posterior cruciate ligament attaches to similar impression on the medial wall", + "The capsular ligament and the oblique popliteal ligament attach to the intercondylar line", + "Labels" + ] + }, + { + "name": "Patellar surface", + "id": "patellar_surface", + "description": [ + "Extends anteriorly from both condyles, and more proximally on the lateral side", + "Continues posteriorly as the", + "intercondylar fossa", + "It is transversely concave, vertically convex, and grooved to articulate with the posterior surface of the patella", + "Labels" + ] + }, + { + "name": "Patella", + "id": "patella", + "description": [ + "Largest sesamoid bone", + "Triangular shaped", + "The apex is pointed inferiorly and is attached to the patellar ligament", + "The base is superior and is attached to the quadriceps femoris tendon", + "No labels" + ] + }, + { + "name": "Labels", + "id": "labels", + "description": [ + "Lower Limb", + "Femur", + "Patella", + "Tibia", + "Fibula", + "Foot", + "Right Patella ", + "(anterior aspect) ", + "Right Patella ", + "(posterior aspect) ", + "Anterior surface", + "Articular surface" + ] + }, + { + "name": "Anterior surface", + "id": "anterior_surface", + "description": [ + "Separated from skin by pre-patellar bursa", + "Most of surface is covered by", + "tendon of quadriceps femoris", + "The", + "patellar tendon", + "partially attaches to inferior part of anterior surface before blending with quadriceps femoris tendon", + "Labels" + ] + }, + { + "name": "Articular surface", + "id": "articular_surface", + "description": [ + "Also known as posterior surface", + "Proximal portion is smooth with two facets divided by a vertical ridge", + "Ridge fits into intercondylar groove on patellar surface of femur", + "The lateral facet is usually larger than medial facet", + "Distal surface is rough and covered by a infrapatellar pad of fat", + "Labels" + ] + }, + { + "name": "Tibia", + "id": "tibia", + "description": [ + "Lies medial to fibula", + "Wide head that supports weight transferred from femur", + "Narrow shaft that is triangular in cross section", + "Distal end articulates with talus and fibula to form ankle joint", + "Anterior border is sharp and curves medially to form medial malleolus", + "No labels" + ] + }, + { + "name": "Labels", + "id": "labels", + "description": [ + "Lower Limb", + "Femur", + "Patella", + "Tibia", + "Fibula", + "Foot", + "Right Tibia ", + "(anterior aspect)", + "Right Tibia ", + "(posterior aspect)", + "Proximal end", + "Tibial tuberosity", + "Gerdy\u2019s tubercle", + "Shaft ", + "Medial surface", + "Lateral surface", + "Posterior surface", + "Distal end" + ] + }, + { + "name": "Proximal end", + "id": "proximal_end", + "description": [ + "Proximal surface articulates with the femur", + "Consists of medial and lateral condyles separated by an intercondylar area", + "Lateral condyle is more prominent", + "Both condyles have articular facets on the superior surface", + "Inferior aspect of lateral condyle articulates with the head of the fibula", + "Semimembranosus muscle attaches to posterior aspect of inferomedial portion of medial condyle", + "Labels" + ] + }, + { + "name": "Tibial tuberosity", + "id": "tibial_tuberosity", + "description": [ + "Raised portion of inferior part of intercondylar area that protrudes anteriorly", + "Attached to patellar tendon", + "Distal portion is palpable below anterior aspect of knee", + "Labels" + ] + }, + { + "name": "Gerdy\u2019s tubercle", + "id": "gerdy\u2019s_tubercle", + "description": [ + "Raised area that emerges inferomedially from anterior aspect of lateral condyle", + "Is attached to iliotibial tract", + "Labels" + ] + }, + { + "name": "Shaft", + "id": "shaft", + "description": [ + "Has three surfaces separated by three borders", + "Anterior", + "Medial", + "Interosseous (lateral)", + "Triangular in cross section", + "Narrowest at junction of middle and distal thirds", + "Expands gradually at both ends", + "Labels" + ] + }, + { + "name": "Medial surface", + "id": "medial_surface", + "description": [ + "Lies between anterior and medial borders", + "Almost entirely subcutaneous", + "Anterior part of medial collateral ligament attaches to proximal part near medial border", + "Tendons for sartorius, gracilis, and semitendinosus muscles attach just anterior to medial collateral ligament", + "Labels" + ] + }, + { + "name": "Lateral surface", + "id": "lateral_surface", + "description": [ + "Lies between anterior and interosseous borders", + "Tibialis anterior muscle attaches to proximal two-thirds", + "Distal third has no attachments", + "Labels" + ] + }, + { + "name": "Posterior surface", + "id": "posterior_surface", + "description": [ + "Lies between medial and interosseous borders", + "Soleus muscle attaches to soleal line", + "Popliteus muscle is attached to triangular area just proximal to soleal line", + "Tibialis posterior muscle attaches distal to soleal line along lateral border of shaft", + "Flexor digitorum longus muscle attaches distal to soleal line along medial border of shaft", + "Labels" + ] + }, + { + "name": "Distal end", + "id": "distal_end", + "description": [ + "Rotates laterally when compared to proximal end(tibial torsion)", + "Lateral surface contains fibular notch", + "Medial surface projects distally to form medial malleolus", + "Posterior surface contains a groove for tendon of tibialis posterior muscle", + "Distal surface articulates with talus", + "Labels" + ] + }, + { + "name": "Fibula", + "id": "fibula", + "description": [ + "More slender than tibia", + "Not directly involved with supporting weight", + "Head is proximal and attaches to shaft via narrow neck", + "Shaft is irregular and is attached by muscles", + "Distally forms lateral malleolus", + "No labels" + ] + }, + { + "name": "Labels", + "id": "labels", + "description": [ + "Lower Limb", + "Femur", + "Patella", + "Tibia", + "Fibula", + "Foot", + "Head", + "Shaft", + "Interosseous border", + "Posterior border", + "Anterior border", + "Lateral surface", + "Medial surface", + "Posterior surface", + "Lateral malleolus", + "Right fibula ", + "(anterolateral aspect)", + "Right fibula ", + "(posteromedial aspect)" + ] + }, + { + "name": "Head", + "id": "head", + "description": [ + "Medial aspect articulates with inferolateral surface of lateral tibial condyle", + "Part of biceps femoris muscle insertion is on superior aspect", + "Part of soleus muscle originates on posterior aspect", + "Labels" + ] + }, + { + "name": "Shaft", + "id": "shaft", + "description": [ + "Has three surfaces and three borders", + "Each surface is associated with a particular group of muscles", + "Connected to neck proximally", + "Connected to lateral malleolus distally", + "Labels" + ] + }, + { + "name": "Interosseous border", + "id": "interosseous_border", + "description": [ + "Separates medial surface from posterior surface", + "Attached to lateral portion of interosseous membrane", + "Labels" + ] + }, + { + "name": "Posterior border", + "id": "posterior_border", + "description": [ + "Separates posterior surface from lateral surface", + "Labels" + ] + }, + { + "name": "Anterior border", + "id": "anterior_border", + "description": [ + "Separates lateral surface from medial surface", + "Labels" + ] + }, + { + "name": "Lateral surface", + "id": "lateral_surface", + "description": [ + "Proximal three quarters faces laterally", + "Distal quarter curves posterolaterally", + "Fibularis longus muscle attaches to proximal two-thirds", + "Fibularis brevis muscle attaches to distal two-thirds", + "Labels" + ] + }, + { + "name": "Fibularis tertius muscle attaches to distal third", + "id": "fibularis_tertius_muscle_attaches_to_distal_third", + "description": [ + "Medial Surface", + "Sometimes called anterior or anteromedial surface", + "Wide distally, narrows to ridge proximally", + "Extensor hallucis longus muscle attaches to middle two-fourths", + "Extensor digitorum longus muscle attaches to proximal three-quarters", + "Labels" + ] + }, + { + "name": "Posterior surface", + "id": "posterior_surface", + "description": [ + "Largest surface", + "Proximal two-thirds divided longitudinally by a medial crest", + "Distal third curves towards medial aspect", + "Soleus muscle inserts on proximal portion", + "Flexor hallucis longus muscle originates on distal two-thirds", + "Labels" + ] + }, + { + "name": "Lateral malleolus", + "id": "lateral_malleolus", + "description": [ + "Distal portion of fibula", + "Projects distally and posteriorly", + "Posterior aspect has a broad groove for the fibular tendons", + "Medial aspect has an articular facet fro talus", + "Projects farther distally than medial malleolus", + "Labels" + ] + }, + { + "name": "Click and choose an item from the list above to see a brief description including muscle attachments", + "id": "click_and_choose_an_item_from_the_list_above_to_see_a_brief_description_including_muscle_attachments", + "description": [ + "Lower Limb", + "Femur", + "Patella", + "Tibia", + "Fibula", + "Foot", + "Right foot ", + "(dorsal aspect)", + "Right foot ", + "(plantar aspect)", + "Calcaneus", + "Sustentaculum tali", + "Tarsal sinus", + "Talus", + "Navicular", + "Cuboid", + "Medial cuneiform", + "Intermediate cuneiform", + "Lateral cuneiform", + "Metatarsals and phalanges", + "1", + "st", + " metatarsal", + "Proximal phalanx", + "Distal phalanx", + "2", + "nd", + " \u2013 5", + "th", + " metatarsals", + "Proximal phalanges", + "Middle phalanges", + "Distal phalanges" + ] + }, + { + "name": "Calcaneus", + "id": "calcaneus", + "description": [ + "Articulates with talus, navicular, and cuboid.", + "Calcaneal (Achilles) tendon and the plantaris muscle attach to the posterior surface.", + "Abductor hallucis, flexor digitorum brevis, and the plantar aponeurosis attach to medial process.", + "Abductor digiti minimi muscle attaches to lateral and medial processes." + ] + }, + { + "name": "Sustentaculum tali", + "id": "sustentaculum_tali", + "description": [ + "Concave depression on medial surface of calcaneus", + "Tendon of flexor hallucis longus muscle runs in groove on inferior surface" + ] + }, + { + "name": "Tarsal sinus", + "id": "tarsal_sinus", + "description": [ + "Gap between talus and calcaneus on lateral aspect of foot", + "On surface anatomy, a palpable depression just anterior to lateral malleolus" + ] + }, + { + "name": "Talus", + "id": "talus", + "description": [ + "Consists of head, neck, and body", + "Articulates with tibia and fibula to form the ankle joint", + "Supported by calcaneus", + "Articulates with calcaneus and navicular", + "No muscle attachments" + ] + }, + { + "name": "Navicular", + "id": "navicular", + "description": [ + "Articulates with talus proximally, cuneiform bones distally, and cuboid laterally", + "Medial surface projects proximally as a prominent tuberosity \u2013 main attachment for tibialis posterior muscle" + ] + }, + { + "name": "Cuboid", + "id": "cuboid", + "description": [ + "Most lateral bone in distal tarsal row.", + "Lies between calcaneus proximally and the 4", + "th", + "and 5", + "th", + "metatarsals distally", + "Articulates with lateral cuneiform medially", + "Groove on plantar surface for tendon of fibularis longus muscle (labeled)" + ] + }, + { + "name": "Medial cuneiform", + "id": "medial_cuneiform", + "description": [ + "Articulates with navicular, intermediate cuneiform, 1", + "st", + "and 2", + "nd", + "metatarsals", + "Impression on medial border provides attachment for tendon of tibialis anterior", + "Plantar surface receives partial attachment of the tendons of tibialis posterior and fibularis longus muscles" + ] + }, + { + "name": "Intermediate cuneiform", + "id": "intermediate_cuneiform", + "description": [ + "Articulates with navicular, medial and lateral cuneiforms, and 2", + "nd", + "metatarsal", + "Part of tendon of tibialis posterior attaches to plantar surface" + ] + }, + { + "name": "Lateral cuneiform", + "id": "lateral_cuneiform", + "description": [ + "Articulates with intermediate cuneiform, navicular, 3", + "rd", + "metatarsal, and cuboid.", + "Receives attachment from part of tendon of tibialis posterior and part of flexor hallucis brevis muscles" + ] + }, + { + "name": "Metatarsals and phalanges", + "id": "metatarsals_and_phalanges", + "description": [ + "Numbered I through V from medial to lateral", + "Each has a base, shaft, and a head from proximal to distal", + "First toe only has a proximal and distal phalanx", + "Toes I-IV have proximal, middle, and distal phalanges" + ] + }, + { + "name": "1", + "id": "1", + "description": [ + "st", + "metatarsal", + "Tendon of tibialis anterior muscle attaches to the plantar surface at the base medially", + "Tendon of fibularis longus muscle attaches to plantar surface at the base laterally", + "Gives origin to medial head of 1", + "st", + "dorsal interosseous on lateral side" + ] + }, + { + "name": "Proximal phalanx", + "id": "proximal_phalanx", + "description": [ + "No muscle attachments" + ] + }, + { + "name": "First distal phalanx", + "id": "first_distal_phalanx", + "description": [ + "Tendon of the flexor hallucis longus muscle inserts at the base on the dorsal surface", + "Tendon of the extensor hallucis longus inserts at the base on the plantar surface" + ] + }, + { + "name": "2", + "id": "2", + "description": [ + "nd", + "\u2013 5", + "th", + "metatarsals", + "Lateral heads of 1", + "st", + "- 4", + "th", + "dorsal interossei attach to medial surfaces of 2", + "nd", + "-5", + "th", + "metatarsals", + "Medial heads of 2", + "nd", + "\u2013 4", + "th", + "dorsal interossei attach to lateral surfaces of 2", + "nd", + "\u2013 4", + "th", + "metatarsals", + "Heads of 1", + "st", + "\u2013 3", + "rd", + "plantar interossei attach to medial surfaces of 3", + "rd", + "\u2013 5", + "th", + "metatarsals", + "5", + "th", + "metatarsal receives attachment from fibularis tertius, fibularis brevis, and flexor digiti minimi brevis" + ] + }, + { + "name": "Phalanges", + "id": "phalanges", + "description": [ + "Tendons of flexor digitorum longus attach to the bases of the distal phalanges.", + "Tendons of flexor digitorum brevis attach to middle phalanges.", + "Tendons of extensor digitorum longus attach to bases of middle and distal phalanges.", + "Dorsal and plantar interossei attach to proximal phalanx.", + "Flexor and abductor digiti minimi attach to base of 5", + "th", + "proximal phalanx." + ] + } + ] +} \ No newline at end of file diff --git a/data_extraction/Bone_Box_Lower_Limb_extracted/bonesets.json b/data_extraction/Bone_Box_Lower_Limb_extracted/bonesets.json new file mode 100644 index 00000000..e7612cf9 --- /dev/null +++ b/data_extraction/Bone_Box_Lower_Limb_extracted/bonesets.json @@ -0,0 +1,13 @@ +[ + { + "name": "Lower Limb", + "id": "lower_limb", + "bones": [ + "Femur", + "Patella", + "Tibia", + "Fibula", + "Foot" + ] + } +] \ No newline at end of file diff --git a/data_extraction/Bone_Box_Lower_Limb_extracted/extraction_summary.json b/data_extraction/Bone_Box_Lower_Limb_extracted/extraction_summary.json new file mode 100644 index 00000000..0b1787f1 --- /dev/null +++ b/data_extraction/Bone_Box_Lower_Limb_extracted/extraction_summary.json @@ -0,0 +1,390 @@ +{ + "total_slides": 46, + "slides_with_annotations": [ + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 20, + 21, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 44, + 45, + 46, + 47, + 48, + 49, + 5, + 50, + 51, + 52, + 54, + 55, + 56, + 57, + 58, + 6, + 7, + 8, + 9 + ], + "extraction_summary": { + "10": { + "regions_found": 1, + "anatomical_names": [ + "Pubis_and_Obturator_foramen" + ] + }, + "11": { + "regions_found": 1, + "anatomical_names": [ + "Pubis_and_Obturator_foramen" + ] + }, + "12": { + "regions_found": 2, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen" + ] + }, + "13": { + "regions_found": 5, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen" + ] + }, + "14": { + "regions_found": 4, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen" + ] + }, + "15": { + "regions_found": 2, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen" + ] + }, + "16": { + "regions_found": 2, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen" + ] + }, + "17": { + "regions_found": 2, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen" + ] + }, + "20": { + "regions_found": 2, + "anatomical_names": [ + "Ischium", + "Unknown_region" + ] + }, + "21": { + "regions_found": 2, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen" + ] + }, + "24": { + "regions_found": 2, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen" + ] + }, + "25": { + "regions_found": 2, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen" + ] + }, + "26": { + "regions_found": 2, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen" + ] + }, + "27": { + "regions_found": 2, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen" + ] + }, + "28": { + "regions_found": 1, + "anatomical_names": [ + "Pubis_and_Obturator_foramen" + ] + }, + "29": { + "regions_found": 1, + "anatomical_names": [ + "Pubis_and_Obturator_foramen" + ] + }, + "30": { + "regions_found": 2, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen" + ] + }, + "31": { + "regions_found": 2, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen" + ] + }, + "34": { + "regions_found": 2, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen" + ] + }, + "35": { + "regions_found": 2, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen" + ] + }, + "36": { + "regions_found": 2, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen" + ] + }, + "37": { + "regions_found": 1, + "anatomical_names": [ + "Pubis_and_Obturator_foramen" + ] + }, + "38": { + "regions_found": 1, + "anatomical_names": [ + "Pubis_and_Obturator_foramen" + ] + }, + "39": { + "regions_found": 2, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen" + ] + }, + "40": { + "regions_found": 1, + "anatomical_names": [ + "Pubis_and_Obturator_foramen" + ] + }, + "41": { + "regions_found": 1, + "anatomical_names": [ + "Pubis_and_Obturator_foramen" + ] + }, + "42": { + "regions_found": 2, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen" + ] + }, + "44": { + "regions_found": 2, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen" + ] + }, + "45": { + "regions_found": 1, + "anatomical_names": [ + "Pubis_and_Obturator_foramen" + ] + }, + "46": { + "regions_found": 1, + "anatomical_names": [ + "Pubis_and_Obturator_foramen" + ] + }, + "47": { + "regions_found": 2, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen" + ] + }, + "48": { + "regions_found": 2, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen" + ] + }, + "49": { + "regions_found": 2, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen" + ] + }, + "5": { + "regions_found": 3, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Ischium", + "Pubis_and_Obturator_foramen" + ] + }, + "50": { + "regions_found": 2, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen" + ] + }, + "51": { + "regions_found": 2, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen" + ] + }, + "52": { + "regions_found": 2, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen" + ] + }, + "54": { + "regions_found": 2, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen" + ] + }, + "55": { + "regions_found": 2, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen" + ] + }, + "56": { + "regions_found": 2, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen" + ] + }, + "57": { + "regions_found": 8, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen" + ] + }, + "58": { + "regions_found": 13, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen" + ] + }, + "6": { + "regions_found": 3, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen", + "Ischium" + ] + }, + "7": { + "regions_found": 2, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen" + ] + }, + "8": { + "regions_found": 3, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen" + ] + }, + "9": { + "regions_found": 2, + "anatomical_names": [ + "Pubis_and_Obturator_foramen", + "Pubis_and_Obturator_foramen" + ] + } + } +} \ No newline at end of file diff --git a/data_extraction/Bone_Box_Lower_Limb_extracted/slide10_bony_pelvis_lateral.png b/data_extraction/Bone_Box_Lower_Limb_extracted/slide10_bony_pelvis_lateral.png new file mode 100644 index 0000000000000000000000000000000000000000..e83c665ffdb93ea05830f741ef27851c3400850b GIT binary patch literal 129790 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