ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻译准备中
学习如何使用超声波在不使用设备的情况下进行动静脉瘘穿刺:实时图像、纵向和横向入路、杜普勒以及评估。免费且在浏览器中使用。
AI 翻译
Aprende a puncionar la fístula arteriovenosa con ecografía, sin equipo: imagen en tiempo real, abordaje longitudinal y transversal, Doppler y evaluación. Gratis y en el navegador.
教育TypeScript · HTMLGitHub @Guithar在线运营者未确认
试用过了吗? 点一下就好,无需登录。
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Simulador de punción ecoguiada de la fístula arteriovenosa (FAV) para hemodiálisis, en el navegador · Ultrasound-guided AV fistula cannulation simulator
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Fistulab · Simulador de punción ecoguiada de la FAV Fistulab es un simulador de ecografía que funciona en el navegador, pensado para aprender la punción ecoguiada del acceso vascular para hemodiálisis: fístulas arteriovenosas (FAV) nativas y protésicas. Es un primer contacto gratuito, previo a los simuladores físicos comerciales. Sirve para practicar:查看完整 README ↗
Fistulab es un simulador de ecografía que funciona en el navegador, pensado para aprender la punción ecoguiada del acceso vascular para hemodiálisis: fístulas arteriovenosas (FAV) nativas y protésicas. Es un primer contacto gratuito, previo a los simuladores físicos comerciales. Sirve para practicar:
Úsalo en https://fistulab.com. No necesita instalación ni registro.
⚠️ Herramienta educativa. No sirve para diagnosticar ni para decidir tratamientos, y no sustituye la formación práctica supervisada. Los fundamentos y las referencias están en
docs/FUNDAMENTOS.md; la técnica sigue, entre otras fuentes, Punción ecoguiada del acceso vascular para hemodiálisis (Moyano Franco, Salgueira Lazo, Roca-Tey; Nefrología al día) y la guía GEMAV 2017. La propuesta de itinerario formativo y la rúbrica de evaluación están endocs/GUIA_DOCENTE.md.
La imagen no es una textura pregrabada. Se calcula en cada fotograma a partir del modelo anatómico, con un método de convolución basado en la física (tipo Bamber–Dickinson / Gao, COLE), en ocho pasos:
| Caso | Dificultad |
|---|---|
| Brazo sin FAV: anatomía normal y mapeo prequirúrgico | Básico |
| FAV radiocefálica madura: caso de referencia | Básico |
| FAV humerocefálica profunda en paciente obeso | Intermedio |
| FAV tortuosa | Intermedio |
| Estenosis yuxtaanastomótica (aliasing, VPS > 400 cm/s) | Intermedio |
| Aneurisma con trombo mural y flujo en remolino | Avanzado |
| FAV inmadura con vena accesoria competidora | Intermedio |
| Venas colaterales y desdoblamiento | Intermedio |
| FAV humerobasílica transpuesta (arteria humeral y nervio mediano cercanos) | Avanzado |
| Prótesis de PTFE en asa (doble pared, 45°, sin compresor) | Intermedio |
| Hematoma tras punción fallida | Avanzado |
| Paciente diabético con arterias calcificadas (sombras) | Intermedio |
Todos los casos se pueden usar con el brazo izquierdo o el derecho.
Ocho lecciones guiadas con comprobación automática de cada paso:
Con el botón Enfoque o la tecla O, el monitor pasa a ocupar casi toda la zona central y el brazo 3D queda en una ventana flotante (en la sala, al revés: la sala en grande y el monitor flotante). En un portátil de 1366 × 768 la imagen crece de 9,8 a unos 17 px/mm.
En el móvil, la tableta en vertical y las ventanas pequeñas se abre una interfaz táctil con el mismo simulador:
Necesita un navegador reciente con WebGL2 (Chrome, Edge, Firefox o Safari) y, a ser posible, una tarjeta gráfica dedicada. Si va lento, baja la calidad en la barra superior (en el móvil, en «Más»).
Empieza en modo básico, con los controles de la punción. El botón Más controles, a la derecha de la consola, muestra el Doppler, el PW y los ajustes finos de imagen.
Para usarlo basta con abrir https://fistulab.com; la versión en inglés está en https://fistulab.com/en/ (botón EN de la barra superior; en el móvil, en «Más»). Para trabajar con el código:
npm install
npm run dev # servidor de desarrollo en http://localhost:5173
npm run build # sitio estático en dist/ (p. ej. GitHub Pages)
npm run build:single # un único HTML autocontenido en dist-single/ (abre sin servidor)
npm run typecheck
npm test # pruebas unitarias (hemodinámica, modelo, aguja, métricas)
node tests/e2e-puncion.mjs http://localhost:5173/ # punción completa con clics y teclado en Chromium (requiere Playwright)
El flujo de trabajo .github/workflows/deploy.yml publica el sitio en GitHub Pages, con el dominio propio fistulab.com, en cada push a main. Antes de publicar, pasa las pruebas y compila. También se puede lanzar a mano desde la pestaña Actions.
Configuración necesaria una sola vez:
Settings → Pages → Build and deployment → Source: GitHub Actions. No uses «Deploy from a branch». Ese modo publica los archivos fuente sin compilar y la página se queda en la pantalla de carga.
Settings → General → Default branch: main.
DNS del dominio (en el registrador, DonDominio): quitar los registros de aparcamiento y añadir
| Tipo | Nombre | Valor |
|---|---|---|
| A | @ | 185.199.108.153, 185.199.109.153, 185.199.110.153, 185.199.111.153 (cuatro registros) |
| AAAA | @ | 2606:50c0:8000::153, 2606:50c0:8001::153, 2606:50c0:8002::153, 2606:50c0:8003::153 (cuatro registros) |
| CNAME | www | guithar.github.io |
Sin registros comodín (*.fistulab.com): GitHub los desaconseja y llevarían cualquier subdominio a otro sitio.
Correo. Las direcciones @fistulab.com van con Banahosting. Sus registros se añaden en esta misma zona de DonDominio, con los valores que da cPanel en Entregabilidad del correo:
mail;default._domainkey);_dmarc).No cambies los servidores de nombres a los de Banahosting: la web dejaría de apuntar a GitHub Pages.
Settings → Pages → Custom domain: fistulab.com. Cuando GitHub compruebe el DNS y emita el certificado, marca Enforce HTTPS. www.fistulab.com y la dirección antigua (guithar.github.io/fistulab) redirigen solas a https://fistulab.com.
Recomendado: verifica el dominio en la configuración de tu cuenta de GitHub (Settings → Pages → Add a domain, con un registro TXT). Así nadie más puede usarlo en GitHub Pages.
Con Actions como origen no hace falta archivo CNAME: el dominio se guarda en la configuración del repositorio.
Si un despliegue falla con «Branch "main" is not allowed to deploy to github-pages», añade main en Settings → Environments → github-pages → Deployment branches and tags.
Buscadores. Cada idioma es una página propia con su título, descripción, imagen para redes (og.jpg, og-en.jpg), datos estructurados (schema.org) y enlaces hreflang a la otra versión. Las guías (guias/ y en/guides/) son páginas de lectura sin JavaScript sobre punción, ecografía y complicaciones de la FAV, escritas a partir de las búsquedas reales (autocompletado de Google y Bing) y enlazadas a los casos del simulador; para añadir una, copia src/guides/TEMPLATE.html y apúntala en src/guides/pages.ts. De esa lista salen las entradas de la compilación y el sitemap.xml, que se genera al compilar (public/robots.txt lo anuncia), y tests/unit/guides.test.ts comprueba idioma, canónica, hreflang y enlaces de cada página. Tras el primer despliegue conviene dar de alta https://fistulab.com en Google Search Console y en Bing Webmaster Tools (verificación por registro TXT en DonDominio) y enviar el sitemap. Después de cada publicación, el flujo avisa a Bing (y a los demás buscadores de IndexNow) de que las páginas del sitemap han cambiado; la clave es pública y está en public/<clave>.txt, y la misma clave va en INDEXNOW_KEY dentro de deploy.yml (una prueba comprueba que coinciden).
Parámetros de URL útiles:
| Parámetro | Valores |
|---|---|
?caso= | rc_madura, bc_obeso, rc_estenosis… |
?modo= | explore, cannulate, room, learn |
?calidad= | alta, media, baja |
?camara= | vista inicial de la cámara |
?max= | 3d, us, anat (panel maximizado) |
?movil= | 1 fuerza la interfaz táctil, 0 la de escritorio |
?vista= | enfoque o cuadricula en todos los modos (p. ej. para proyectar en clase) |
?leccion= | abre una lección guiada: orientacion, knobologia, arteria-vena, madurez, eje-largo, eje-corto, artefactos, doppler-fav |
| Acción | Teclado / ratón |
|---|---|
| Deslizar la sonda | W S (a lo largo del brazo), A D (alrededor); o arrastrar la sonda en 3D |
| Rotar / inclinar / balancear | Q E / R F / T G |
| Presión | Z X |
| Vista transversal / longitudinal del vaso | 1 / 2 |
| Colocar, avanzar y confirmar la aguja | N (pasa al modo Punción), ↑ ↓ (o rueda sobre la imagen), Intro |
| Ángulo / rumbo de la aguja | RePág AvPág / ← → |
| Profundidad / ganancia | + − / [ ] |
| Color / PW / modo B / congelar | C / P / B / Espacio |
| Lavar la aguja con suero | J |
| Medir / etiquetas / invertir I-D / compresor | M / L / I / K |
| Vistas de cámara / modo enfoque / ayuda | V / O / H |
src/
anatomy/ forma del brazo (SDF elíptica), estructuras tubulares, hemodinámica, tejidos, casos
sim/ motor ecográfico en GPU (shaders por pases), Doppler pulsado y audio
scene/ escena 3D: piel (surface nets), anatomía, sonda, aguja, sala, cámaras
interaction/ pose de la sonda (maniobras PART) y física de la aguja
training/ métricas, ergonomía y lecciones
ui/ monitor, consola, paneles e informe; mobile.ts: interfaz táctil;
focus.ts y floating.ts: modo enfoque y ventana flotante
app/App.ts orquestación y bucle principal
pwa.ts aplicación instalable (public/: manifiesto, iconos y service worker)
i18n.ts idioma de la página (español o inglés)
Idiomas. index.html (español, /) y en/index.html (inglés, /en/) cargan el mismo código; el idioma sale de <html lang>. Los textos de la interfaz se escriben en los dos idiomas con tr('español', 'English') (src/i18n.ts), y los dos HTML tienen la misma estructura: un cambio en uno va también en el otro (tests/unit/i18n.test.ts lo comprueba). La documentación en inglés está en docs/en/ y README.en.md.
La misma descripción anatómica alimenta:
Por eso la pantalla y la «realidad» coinciden siempre.
Sin cookies, sin analítica y sin publicidad. Todo se calcula en el navegador y no se envía nada a ningún servidor; las fuentes tipográficas se sirven desde el propio sitio. El historial de punciones y las preferencias se guardan solo en el navegador de cada persona (localStorage). GitHub Pages, el alojamiento, puede registrar la dirección IP de las visitas por seguridad.
Fistulab es gratuito y lo seguirá siendo. Si te resulta útil para formar a tu unidad, puedes apoyarlo con un café en Ko-fi: ayuda a mantenerlo y a añadir casos, lecciones e idiomas.
MIT. Se agradecen contribuciones clínicas y técnicas: casos nuevos, validación de valores y traducciones. Escribe en Issues o a [email protected].