modelo 3d citologia
This commit is contained in:
1 parent
65a4fdea9e
commit
369638bf98
15 files changed
+308
-56
No files matched your search
@@ -0,0 +1,78 @@
|
||||
// Gera manifest-cell.json — as 5 organelas do sistema "citologia", com
|
||||
// malha 3D REAL (ao contrário de "histologia", que continua sendo
|
||||
// fotomicrografias 2D — ver build-manifest-microscopy.mjs).
|
||||
//
|
||||
// Fonte: célula HeLa (jrc_hela-2) reconstruída em 3D a partir de FIB-SEM
|
||||
// real e segmentada por machine learning pelo projeto CellMap/COSEM do
|
||||
// Janelia Research Campus (HHMI) — OpenOrganelle, CC BY 4.0.
|
||||
// https://openorganelle.janelia.org/ — DOI da coleção:
|
||||
// https://doi.org/10.25378/janelia.c.7456966
|
||||
// Extração das malhas: data-pipeline/scripts/fetch-cell-organelles.py
|
||||
// Simplificação/compressão final: data-pipeline/scripts/build-cell-model.mjs
|
||||
//
|
||||
// O nome de cada nó do citologia.glb (definido no script Python) é usado
|
||||
// aqui como "meshName" — sem simplificação de nome/exclusão como no
|
||||
// esquelético, já que são só 5 peças, cada uma com nome final único.
|
||||
import { writeFileSync } from "node:fs";
|
||||
import { fileURLToPath } from "node:url";
|
||||
import path from "node:path";
|
||||
|
||||
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
||||
const MODEL_FILE = "citologia.glb";
|
||||
|
||||
const CREDIT =
|
||||
"Malha 3D real, segmentada por FIB-SEM (célula HeLa, jrc_hela-2) pelo projeto CellMap/Janelia Research Campus — OpenOrganelle, CC BY 4.0.";
|
||||
|
||||
function structure(slug, namePt, nameEn, description) {
|
||||
return {
|
||||
system: "citologia",
|
||||
slug,
|
||||
namePt,
|
||||
nameEn,
|
||||
synonyms: [],
|
||||
description: `${description} ${CREDIT}`,
|
||||
regionPath: ["Citologia", "Célula (HeLa) — FIB-SEM real"],
|
||||
modelFile: MODEL_FILE,
|
||||
meshName: slug,
|
||||
};
|
||||
}
|
||||
|
||||
const structures = [
|
||||
structure(
|
||||
"celula-membrana-plasmatica",
|
||||
"Membrana Plasmática",
|
||||
"Plasma Membrane",
|
||||
"Envoltório que delimita a célula, controlando a entrada e saída de substâncias; formada por uma bicamada fosfolipídica com proteínas de membrana.",
|
||||
),
|
||||
structure(
|
||||
"celula-nucleo",
|
||||
"Núcleo",
|
||||
"Nucleus",
|
||||
"Organela que guarda o DNA da célula e comanda a síntese proteica; a forma irregular e volumosa vista aqui é real e típica de células HeLa (uma linhagem tumoral, com núcleo frequentemente atípico).",
|
||||
),
|
||||
structure(
|
||||
"celula-reticulo-endoplasmatico",
|
||||
"Retículo Endoplasmático",
|
||||
"Endoplasmic Reticulum",
|
||||
"Rede de membranas contínua com o envoltório nuclear, espalhada por todo o citoplasma; participa da síntese de proteínas (porção rugosa) e lipídios, além do armazenamento de cálcio.",
|
||||
),
|
||||
structure(
|
||||
"celula-complexo-de-golgi",
|
||||
"Complexo de Golgi",
|
||||
"Golgi Apparatus",
|
||||
"Conjunto de sáculos membranosos empilhados, tipicamente posicionado perto do núcleo (posição confirmada nesta reconstrução real); processa, modifica e empacota proteínas vindas do retículo endoplasmático.",
|
||||
),
|
||||
structure(
|
||||
"celula-mitocondrias",
|
||||
"Mitocôndrias",
|
||||
"Mitochondria",
|
||||
"População completa de mitocôndrias segmentadas nesta célula — organelas responsáveis pela produção de ATP por respiração celular; note a variação real de tamanho e forma entre elas, incluindo fragmentação, comum em linhagens tumorais.",
|
||||
),
|
||||
];
|
||||
|
||||
writeFileSync(
|
||||
path.resolve(__dirname, "manifest-cell.json"),
|
||||
JSON.stringify({ structures }, null, 2),
|
||||
);
|
||||
|
||||
console.log(`manifest-cell.json gerado com ${structures.length} organelas.`);
|
||||
@@ -1,24 +1,20 @@
|
||||
// Gera manifest-microscopy.json (sistemas "citologia" e "histologia").
|
||||
// Gera manifest-microscopy.json (sistema "histologia" — tecidos).
|
||||
//
|
||||
// MESMA DECISÃO já tomada pro tegumentar (ver build-manifest.mjs): não
|
||||
// existe malha 3D real e aberta derivada de microscopia (nem de célula,
|
||||
// nem de tecido histológico — confirmado pesquisando: Allen Institute for
|
||||
// Cell Science só distribui dado volumétrico bruto (OME-Zarr/TIFF), não
|
||||
// malha pronta; não existe um "Z-Anatomy da histologia" de código aberto).
|
||||
// Fabricar formas geométricas (esferas pra núcleo, cilindros pra
|
||||
// mitocôndria etc.) seria exatamente o "método não realístico" que se
|
||||
// queria evitar. Em vez disso: FOTOMICROGRAFIAS REAIS (não ilustrações),
|
||||
// de domínio público ou CC, com hotspots — mesmo padrão do tegumentar.
|
||||
// Citologia (a célula) NÃO usa mais este padrão: em vez de fotomicrografia
|
||||
// 2D, virou um modelo 3D real de verdade (segmentação FIB-SEM de uma
|
||||
// célula HeLa completa) — ver build-manifest-cell.mjs. Pra tecidos
|
||||
// histológicos propriamente ditos, porém, a mesma limitação do tegumentar
|
||||
// (ver build-manifest.mjs) continua valendo: não existe malha 3D real e
|
||||
// aberta de tecido histológico. Fabricar formas geométricas seria
|
||||
// exatamente o "método não realístico" a evitar — por isso aqui é
|
||||
// FOTOMICROGRAFIA REAL (não ilustração), de domínio público ou CC, com
|
||||
// hotspots, mesmo padrão do tegumentar.
|
||||
//
|
||||
// Curadoria das imagens (baixadas de commons.wikimedia.org, verificadas
|
||||
// visualmente uma a uma pra confirmar que são fotos reais e não diagramas/
|
||||
// ilustrações — vários candidatos populares como "Blausen ..." ou
|
||||
// "Typical human cell" foram DESCARTADOS por serem ilustrações, não fotos):
|
||||
//
|
||||
// citologia/nucleo-celular-met.png
|
||||
// Micrografia eletrônica de transmissão (MET) real de um núcleo
|
||||
// celular. Domínio público. https://commons.wikimedia.org/wiki/File:Micrograph_of_a_cell_nucleus.png
|
||||
//
|
||||
// histologia/epitelio-simples-colunar.jpg
|
||||
// Mucosa gástrica normal, H&E. Autor: Nephron. CC BY-SA 3.0.
|
||||
// https://commons.wikimedia.org/wiki/File:Normal_gastric_mucosa_intermed_mag.jpg
|
||||
@@ -62,29 +58,16 @@ function add(system, image, slug, namePt, nameEn, description, region = []) {
|
||||
nameEn,
|
||||
synonyms: [],
|
||||
description,
|
||||
regionPath: [system === "citologia" ? "Citologia" : "Histologia", ...region],
|
||||
regionPath: ["Histologia", ...region],
|
||||
// Sem malha 3D — o caminho da fotomicrografia (servida como asset
|
||||
// estático do frontend, igual à imagem do tegumentar) fica direto no
|
||||
// campo modelFile; MicroscopyDiagram.tsx usa isso pra saber em qual
|
||||
// imagem desenhar o hotspot de cada estrutura.
|
||||
// imagem desenhar o hotspot de cada estrutura.
|
||||
modelFile: image,
|
||||
meshName: slug,
|
||||
});
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------
|
||||
// CITOLOGIA — núcleo celular (MET real)
|
||||
// ---------------------------------------------------------------------
|
||||
const CEL = "/citologia/nucleo-celular-met.png";
|
||||
add("citologia", CEL, "nucleo-citologia", "Núcleo Celular", "Cell Nucleus",
|
||||
"Maior organela da célula eucariótica; guarda o DNA organizado em cromatina e comanda toda a síntese proteica ao transcrever RNA mensageiro.");
|
||||
add("citologia", CEL, "envoltorio-nuclear", "Envoltório Nuclear", "Nuclear Envelope",
|
||||
"Dupla membrana que separa o núcleo do citoplasma, perfurada por poros nucleares que controlam a troca de moléculas (RNA sai, proteínas regulatórias entram) entre os dois compartimentos.");
|
||||
add("citologia", CEL, "cromatina", "Cromatina", "Chromatin",
|
||||
"DNA associado a proteínas histonas, disperso no núcleo entre divisões celulares; as regiões mais condensadas (heterocromatina) aparecem mais escuras na micrografia.");
|
||||
add("citologia", CEL, "citoplasma-citologia", "Citoplasma", "Cytoplasm",
|
||||
"Conteúdo celular entre a membrana plasmática e o envoltório nuclear — citosol mais as organelas (mitocôndrias, retículo, ribossomos) que sustentam o metabolismo da célula.");
|
||||
|
||||
// ---------------------------------------------------------------------
|
||||
// HISTOLOGIA — Epitélio simples colunar (mucosa gástrica)
|
||||
// ---------------------------------------------------------------------
|
||||
|
||||
@@ -13,10 +13,11 @@ export const SYSTEMS = [
|
||||
{ slug: "tegumentar", namePt: "Sistema Tegumentar", nameEn: "Integumentary System", colorHex: "#e0a96d", order: 9 },
|
||||
{ slug: "regioes", namePt: "Regiões Anatômicas do Corpo", nameEn: "Body Regions", colorHex: "#f472b6", order: 10 },
|
||||
{ slug: "referencias", namePt: "Planos e Linhas de Referência", nameEn: "Reference Planes and Lines", colorHex: "#a3e635", order: 11 },
|
||||
// Citologia/Histologia: sem malha 3D (mesma situação do tegumentar — não
|
||||
// existe dataset aberto de malha 3D real derivada de microscopia pra
|
||||
// célula/tecidos), então usam o mesmo padrão de diagrama 2D com hotspots
|
||||
// sobre fotomicrografias REAIS (não ilustrações) — ver MicroscopyDiagram.tsx.
|
||||
// Citologia: malha 3D REAL (segmentação FIB-SEM de uma célula HeLa
|
||||
// inteira, Janelia OpenOrganelle/CellMap) — ver build-manifest-cell.mjs.
|
||||
// Histologia: sem malha 3D (não existe dataset aberto de malha 3D real
|
||||
// de tecido histológico), usa fotomicrografias REAIS 2D com hotspots
|
||||
// — ver build-manifest-microscopy.mjs e MicroscopyDiagram.tsx.
|
||||
{ slug: "citologia", namePt: "Citologia (A Célula)", nameEn: "Cytology (The Cell)", colorHex: "#22d3ee", order: 12 },
|
||||
{ slug: "histologia", namePt: "Histologia (Tecidos)", nameEn: "Histology (Tissues)", colorHex: "#fb923c", order: 13 },
|
||||
];
|
||||
Reference in new issue
Block a user