code wiki / (root) / nx_vulva_innie_outie.nx

nx_vulva_innie_outie.nx

buildroot/runtime/nx_vulva_innie_outie.nx

5985 B164 linesdepth 5pulls 6 transitivereach 1 importersview sourcekind library
docsdependenciesstructsconstsfunctions

about

nx_vulva_innie_outie.nx -- labia minora protrusion classifier. Vulva aesthetic axis: innie vs outie. Measure how far inner-labia pixels protrude BEYOND the outer-labia centerline. Positive = outie; negative = innie (minora tucked inside). Algorithm: 1. Within vulva bbox, find the outer-labia midline (vertical axis). 2. Identify "inner labia" pixels: darker pink than outer skin. 3. For each row in vulva band, measure max horizontal extent of inner-labia pixels from the midline. 4. Average extent → labia_protrusion_q10 (relative to vulva half-width). Output flat-array: result[0] = protrusion_avg_px (avg per-row inner-labia max extent) result[1] = vulva_half_width_px result[2] = protrusion_q10 (avg_extent * 1024 / half_width) result[3] = inner_labia_pixel_count result[4] = verdict 0=DEEP_INNIE / 1=INNIE / 2=NEUTRAL / 3=OUTIE / 4=PROMINENT_OUTIE

dependencies 2 imports · 1 importers

nx_syscalls.nx nx_image.nx nx_vulva_innie_outie.nx nx_lower_anatomy_test.nx

imports: nx_syscalls.nxnx_image.nx

imported by: nx_lower_anatomy_test.nx

structs

none

consts

30const NX_MAGIC_1024: i64 = 1024
32const NX_INNIE_RES_PROT_PX: i64 = 0
33const NX_INNIE_RES_HALF_W: i64 = 1
34const NX_INNIE_RES_PROT_Q10: i64 = 2
35const NX_INNIE_RES_INNER_COUNT: i64 = 3
36const NX_INNIE_RES_VERDICT: i64 = 4
37const NX_INNIE_RES_FIELDS: i64 = 5
39const NX_INNIE_V_DEEP_INNIE: i64 = 0
40const NX_INNIE_V_INNIE: i64 = 1
41const NX_INNIE_V_NEUTRAL: i64 = 2
42const NX_INNIE_V_OUTIE: i64 = 3
43const NX_INNIE_V_PROMINENT_OUTIE: i64 = 4
46const NX_INNIE_DEEP_INNIE_MAX: i64 = 102 // <= 10% = deep innie
47const NX_INNIE_INNIE_MAX: i64 = 256 // 10-25% = innie
48const NX_INNIE_NEUTRAL_MAX: i64 = 410 // 25-40% = neutral
49const NX_INNIE_OUTIE_MAX: i64 = 614 // 40-60% = outie; > 60% = prominent
53const NX_INNIE_R_DELTA_MIN: i64 = 12

functions

56func nx_innie_perimeter_r(rgb: *Image, x0: i64, y0: i64,
called by 1: nx_vulva_innie_outie calls 1: nx_image_get
102func nx_vulva_innie_outie(rgb: *Image, bbox: *i64, result: *i64) -> i64