Mikhmel Cornerstone4D DICOM Viewer Pro
4D MPR-станция нового поколения — v5
Полноценный Volume Rendering, настоящий MPR 2×2, Multi-Series с авто-группировкой по SeriesInstanceUID,
4D Cine с requestAnimationFrame, AI-сегментация (MedSAM ONNX), Cinematic Rendering,
DICOM Header Viewer, Undo/Redo, Screenshot, Smart Memory Management
PET-CT Fusion, Virtual Endoscopy, TAVI Planning, Agatston Scoring, Cinematic Rendering (SSAO+Bloom), Transfer Function Editor, 14 форматов экспорта, Voice Control,
ITK-WASM Image Processing, Study Quality Analyzer и 200+ функций.
Работает на смартфонах — сворачиваемые панели, touch UI.
Worker MetaCache — стабильный 3D MPR на всех устройствах.
Эволюция: 2D → 3D → 4D
🆕 Новое в v5
Главное нововведение v4.0: Автоматическая группировка файлов по SeriesInstanceUID с корректной сортировкой после загрузки метаданных.
- Auto-Grouping: DICOM файлы автоматически распределяются по сериям
- Series Panel: Кликабельный список серий с миниатюрами
- Smart Sort: Сортировка по InstanceNumber/SliceLocation после загрузки метаданных
- Magic Bytes: Проверка DICM-сигнатуры вместо расширения файла
- DICOMDIR: Парсинг структуры DICOM-дисков
Плавное воспроизведение: Замена setInterval на requestAnimationFrame с контролем FPS для синхронизации с монитором.
- RAF-based: Точный тайминг с requestAnimationFrame
- FPS Control: Настраиваемая скорость 1-60 кадров/сек
- No Drift: Нет накопления задержки как у setInterval
- Стоппабельный FPS Counter: cancelAnimationFrame при простое
Полный просмотр тегов: Модальное окно со всеми метаданными текущего среза — Patient, Study, Series, Image, Pixel, Plane, SOP.
- Горячая клавиша D для быстрого открытия
- Все стандартные DICOM-модули в одном окне
- Instance-level теги (StudyInstanceUID, SOPClassUID...)
- Подсветка ключей и значений для удобства чтения
Стек операций: Ctrl+Z/Y для отмены/повтора изменений камеры и свойств viewport.
- Undo: Ctrl+Z — откат позиции камеры и Window/Level
- Redo: Ctrl+Y — повтор отменённого действия
- Screenshot: Ctrl+P или контекстное меню → PNG
- Стек: До 50 состояний с автоочисткой
Сворачиваемые панели: На экранах <900px боковые панели автоматически скрываются с кнопкой-переключателем.
- Auto-collapse: Панели сворачиваются на узких экранах
- Toggle Button: ◀/▶ для ручного переключения
- Touch Cine: Play/Stop с rAF вместо setInterval
- Smart Zoom: Исправлена логика parallelScale (zoom > 1 = увеличение)
Критический fix для 3D: Worker Bridge теперь парсит DICOM-геометрию каждого файла и заполняет metaCache — Volume Loader получает координаты срезов для построения 3D-объёма.
- MetaCache Fill: ImagePositionPatient, ImageOrientationPatient, PixelSpacing, SliceThickness — заполняются из Worker path
- Стабильный MPR на мобильных: 3D реконструкция работает на всех устройствах, включая Android/iOS (ранее — только desktop)
- metaData Provider: Собственный провайдер с приоритетом 20500 — корректная иерархия WADO → Main → Worker
- Smart Sort в Bridge: Сортировка по SliceLocation/InstanceNumber прямо в worker path
- Async Pipeline: registerWorkerResults стал async — стабильная последовательность парсинг → регистрация → metaCache
Профессиональный аудит 28 000 строк: Полный анализ 43 модулей — архитектура, безопасность, производительность, утечки памяти, мёртвый код.
- 3 критических бага исправлены: metaCache Worker (MPR), дуальный metaData Provider, debug-лог в production
- ~3 300 строк удалено: 7 файлов-дублей и бэкапов (presets3d копия, loaderManager_0.4, gpuDetector_webgl2 и др.)
- Dual Provider Fix: Устранён конфликт приоритетов metaData провайдеров (init.js vs loaderManager vs bridge)
- Unified Pipeline: Worker и main-thread пути теперь обеспечивают одинаковые метаданные для Volume Loader
Оптимизация ресурсов: Устранены утечки памяти, комплексная очистка данных, корректная работа при многократных загрузках.
- Memory Leak Fix: _lastLoadedFiles больше не накапливает File/Blob объекты при повторных загрузках (сотни МБ на мобильных)
- Comprehensive Clear: clearAllData() теперь очищает Worker Bridge, metaCache, window globals (_qualityPatientsMap, _lastQualityAnalysis)
- UI Reset: Кнопка «Очистить» корректно вызывает clearWorkerData() — полный сброс без перезагрузки страницы
- Verbose Log Suppression: Подавлены 14+ отладочных console.log в Service Worker и loaderManager для production
Глубокий рефакторинг: Исправлены все критические баги из аудита, оптимизировано использование ресурсов.
- Tool Registration: Устранена двойная регистрация инструментов
- Directory Traversal: readEntries batching для больших папок
- Memory Monitor: Graceful fallback для Firefox/Safari
- Context Menu: Все пункты (Screenshot, Fullscreen) работают
- Vite Config: Удалён конфликтующий alias для CS3D v2
- Quality Analysis: Интегрирован в Worker path (ранее — только main thread)
6 алгоритмов обработки: Полноценный пайплайн обработки медицинских изображений через ITK-WASM — шумоподавление, фильтрация, морфология, без серверной части.
- Gaussian Smoothing: 3D separable convolution — сглаживание шума с сохранением контуров
- Median Filter: Удаление импульсного шума (salt-and-pepper) для улучшения визуализации
- Anisotropic Diffusion: Bilateral filter — шумоподавление КТ перед 3D-рендерингом без потери границ тканей
- Morphological Ops: Erosion / Dilation — морфологическая обработка для сегментации и уточнения контуров
- Series Registration: Translation-only регистрация серий для выравнивания при Comparison Mode
- DICOM → NIfTI: Конвертация DICOM-геометрии в NIfTI header для ML-пайплайнов
- Extended Tags: Чтение всех DICOM-тегов включая приватные (через ITK-WASM DICOM)
- Lazy WASM Load: ITK-WASM грузится по требованию — не увеличивает начальный bundle
Автоматическая оценка качества КТ-исследования: Анализ параметров сканирования, шума, толщины среза и возможностей постпроцессинга — ещё до начала 3D-реконструкции.
- Scan Parameters: Автоизвлечение kVp, Tube Current, Exposure, Pitch, Reconstruction Kernel из DICOM-тегов
- Noise Analysis: Оценка уровня шума изображения для выбора оптимального фильтра
- Slice Thickness: Проверка толщины среза и рекомендации для MPR / 3D реконструкции
- Reconstruction Capabilities: Автоматическая оценка — достаточно ли качество для VRT, MIP, Cinematic Rendering
- Body Part + Protocol: Распознавание анатомической области и протокола сканирования по DICOM-тегам
- Quality Score: Числовая оценка качества с рекомендациями для клинициста
- Worker Integration: Анализ выполняется в Worker path параллельно с загрузкой — без блокировки UI
Параллельный парсинг DICOM: Пул Web Workers с Comlink proxy — до 6 потоков на десктопе, адаптивно до 3 на мобильных, с таймаутами и error recovery.
- Comlink Proxy: Типизированное RPC вместо raw postMessage — чистый async/await API для Worker
- Adaptive Pool Size: Авто-определение числа ядер, мобильные ≤3, десктоп ≤6 воркеров
- Worker Timeout: 10 сек таймаут на каждый вызов — защита от зависания на битых DICOM
- Error Recovery: onerror handler с авто-перезапуском воркера при критических ошибках
- Inline URL Pattern: Vite-совместимая inline-инициализация воркеров без отдельных chunk-ов
- 4D Cardiac Cine: Загрузка мульти-таймпойнтных серий с прогрессом по фазам
Централизованная шина событий: 20+ типизированных событий, once-подписки, wildcard-паттерны — единая точка обмена между 43 модулями без прямых зависимостей.
- Preset Events: PRESET_CHANGED, PRESET_SAVED, PRESET_DELETED — синхронизация UI и Rendering
- Viewport Events: VIEWPORT_CREATED, LAYOUT_CHANGED — управление layout'ами
- Load Pipeline: VOLUME_LOAD_START → PROGRESS → DONE → ABORT — полный lifecycle загрузки
- GPU/System: GPU_DETECTED, CACHE_WARNING — адаптация под возможности устройства
- Cinematic: CINEMATIC_TOGGLED, CINEMATIC_PRESET — управление пост-процессингом
- TF Editor: TF_EDITOR_OPENED, TF_APPLIED — связь Transfer Function Editor с рендерером
- Module Errors: MODULE_ERROR — централизованная обработка ошибок модулей
Полная клавиатурная навигация: 14+ глобальных горячих клавиш, кастомные привязки, инструментальные шорткаты с возможностью переопределения.
- Navigation: Home/End — первый/последний срез, Space — Play/Stop Cine
- Layouts: 1 — 1×1, 2 — 1×2, 4 — 2×2, Q — MPR Layout
- Image: I — инверсия, N — негатив, O — сброс W/L, D — DICOM Header
- Tools: F11 — полный экран, Delete — удалить аннотацию, Escape — отмена
- Custom Bindings: Пользовательские привязки клавиш через API
- Enable/Disable: Отключение горячих клавиш в модальных окнах и редакторах
Работа с экстремальными объёмами: 4D Cardiac Cine, PET-CT Fusion, Whole-body MRI — оптимизированная загрузка и воспроизведение серий в тысячи кадров.
- 4D Cardiac Cine: Загрузка мульти-таймпойнтных серий с FPS-контролем и прогресс-баром
- PET-CT Fusion Pipeline: Двойная загрузка PET + CT с синхронизацией и наложением colormap
- Whole-body MRI: Оптимизация для серий 500+ слайсов — батчинг загрузки по GPU tier
- Comparison Mode: Prior study side-by-side — динамическое наблюдение
- Progress Tracking: Точный прогресс-бар с фазами: Upload → Parse → Sort → Load → Render
⚙️ Архитектура: 43 модуля • 12 подсистем • EventBus
Модульная архитектура с централизованной шиной событий — каждый модуль изолирован и общается через EventBus
DICOM Load Pipeline:
🏆 Ключевые преимущества
VTK.js Pipeline: Полноценный Volume Rendering через VTK.js — настоящий 3D ray-casting с GPU-ускорением.
- MPR 2×2: 4 viewport — Axial, Sagittal, Coronal, 3D одновременно
- Volume Rendering: 14 тканевых пресетов
- Cinematic Rendering: Фотореалистичная визуализация с AO и тенями
- Oblique MPR: Произвольные углы среза в 3 плоскостях
- Slab Mode: Толстый срез (Thick Slice) для MIP/MinIP
- MIP: Maximum Intensity Projection через WebGPU Compute
- Marching Cubes: Изоповерхности с кастомными порогами HU
- CPR: Curved Planar Reformation — развёртка сосудов
- Scout View: 3 проекции с референсными линиями
- STL Export: 3D-модели для 3D-печати
Мгновенный запуск: Service Worker v3.1 + Workbox Precache + Background Sync — устанавливается как приложение, работает офлайн.
- Запуск за 3 секунды на любом устройстве
- PWA: установка на домашний экран
- Работает полностью offline
- Кросс-платформенность
- Background Sync: Аннотации и измерения синхронизируются при восстановлении соединения
- Models Cache: ONNX-модели кешируются для оффлайн AI-инференса
- Strategy-based Caching: Static → Cache First, CDN → Stale-While-Revalidate, API → Network First
8 AI-инструментов через ONNX Runtime. Данные не покидают устройство.
- MedSAM: Авто-сегментация по клику
- Lung Nodule Detection: Lung-RADS классификация
- Fracture Detection: Анализ градиента костной ткани
- Auto-Contouring: Лёгкие, кости, печень, жир, мышцы
- Cardiac Segmentation: Пороговая + морфология камер сердца
- EF Estimation: Фракция выброса из сегментации
- Region Growing: Сегментация с начальной точкой
- Bone/Table Removal: Автоудаление костей и стола из сцены
100% безопасность: Все вычисления — на вашем устройстве.
- GDPR и ФЗ-152 РФ
- AI inference: локальный ONNX Runtime (WASM)
- Встроенная анонимизация DICOM-тегов
- IndexedDB: локальный архив пациентов
Фотореалистичная визуализация: Post-processing pipeline: SSAO → Bloom → Tone Mapping → Output canvas.
- SSAO: Screen Space Ambient Occlusion + Blur pass
- Bloom: Glow + Bright pass + корректное затенение от SSAO
- Depth Extractor: Z-buffer из vtk.js OpenGL для физически корректного SSAO
- Auto-Preset: Rules Engine — автовыбор по Modality + BodyPart + SeriesDescription
- Cinematic Morph: Анимированный плавный морфинг между пресетами (lerp всех параметров)
- Split-Compare: Сравнение Cinematic vs Original на одном экране
- Tone Mapping: Несколько режимов тональной компрессии
- Lazy Uniform Cache: Оптимизация — устранение overhead от getUniformLocation
Визуальный редактор: Интерактивный редактор Transfer Function с histogram overlay и drag-and-drop контрольными точками.
- Opacity Curve: Точки HU → alpha, перетаскивание мышью
- Color Gradient: Точки HU → RGB, color picker для каждой
- Gradient Opacity: Edge detection — подчёркивание границ тканей
- Shading: Ambient, Diffuse, Specular, Specular Power
- 14 пресетов: От CT Bone до Cardiac Coronaries с клинически точными HU
- Save/Load: Кастомные пресеты в localStorage
- Import/Export: Обмен пресетами через JSON
Специализированные инструменты для кардиологии, нейрохирургии, пульмонологии, ортопедии, стоматологии.
- TAVI Planning: Измерение аортального кольца + PDF-отчёт + калькулятор размера протеза
- Agatston Scoring: Коронарный кальций (HU ≥ 130) без нейросети
- CTR: Кардиоторакальный индекс
- Aorta Diameter: Измерение на разных уровнях
- Vessel Tracking: Отслеживание сосудов с измерениями
- Coronary Labeling: Маркировка сегментов (LM, LAD, D1, LCx, OM, RCA)
- Midline Shift: Смещение средней линии (нейротравма)
- BMD: Bone Mineral Density — плотность позвонков L1-L4
- Emphysema: Количественная оценка (voxels < -910 HU)
- Pneumothorax: Детекция плеврального воздуха
- Vertebra Numbering: Авто-нумерация C1-L5
- DSA: Digital Subtraction Angiography
- Dental Panoramic: Curved MIP для стоматологии
Продвинутые режимы визуализации для интервенционного планирования и мультимодальной диагностики.
- Virtual Endoscopy: Fly-through внутри полых органов (бронхи, толстая кишка, сосуды)
- PET-CT Fusion: Наложение PET на CT с настраиваемой прозрачностью
- Fusion Colormap: Выбор цветовой карты (Hot, Rainbow, Cool...)
- Comparison Mode: Сравнение с предыдущим исследованием side-by-side
- Prior Study Loading: Загрузка предыдущего исследования для динамики
Универсальный экспорт — от PACS-стандартов до форматов для 3D-печати и ML-исследований.
- DICOM SR: Structured Report TID-1500 (Synapse, Impax, Orthanc)
- DICOM Print: Печать на DICOM-принтер (SCU)
- NIfTI: .nii/.nii.gz — для ML-пайплайнов
- RT-STRUCT: Контуры для радиотерапии
- STL: 3D-модели для 3D-печати (Marching Cubes)
- MP4: Видеозапись Cine
- ZIP: Архив исследования с паролем (ZipCrypto)
- PDF Report: Клинический отчёт с измерениями и скриншотами
- PNG: Screenshot viewport (обычный и анонимизированный)
- JSON/CSV: Экспорт аннотаций и измерений
Полный набор Cornerstone3D v2 — 30+ инструментов с persist/restore через IndexedDB.
- 30+ Tools: Length, Angle, Bidirectional, EllipseROI, RectROI, CircleROI, Probe, Cobb Angle
- ROI Histogram: Гистограмма плотностей внутри ROI
- ROI W/L: Автоподбор Window/Level по выбранной области
- Contrast Graph: Кривая контрастирования
- Calibration: Калибровка по известному объекту
- Trend Analysis: Отслеживание динамики измерений
- Bookmarks: Сохранение и навигация по закладкам
- Auto-Save: Аннотации сохраняются при переключении серий
Локальный PACS-архив: IndexedDB (Dexie) с LRU-автоочисткой, thumbnails, качественным анализом.
- IndexedDB Archive: Dexie — локальное хранение с авто-миграцией (v3/v4 schema)
- LRU Cleanup: Автоматическая очистка старых данных по лимиту
- Study Quality Analyzer: Шум, толщина среза, возможности реконструкции
- Anonymization: Очистка DICOM-тегов перед экспортом
- Thumbnails: Авто-генерация миниатюр для серий
- WADO-URI: Загрузка из PACS-сервера по URL
- ZIP Archive: Экспорт/импорт исследований с паролем (ZipCrypto)
- Multi-Patient: Раздельное хранение и навигация по пациентам
Адаптивная производительность: Авто-определение GPU и настройка под устройство.
- GPU Tiers: LOW / MEDIUM / HIGH — автовыбор cache size и features
- Mobile GPUs: Adreno, Mali, Xclipse, PowerVR, Immortalis, Apple
- WebGPU Compute: Compute Shaders для Marching Cubes, MIP, Cinematic (10-100× ускорение)
- Memory Monitor: Graceful fallback для Firefox/Safari
- Adaptive Batch Size: Размер пакета парсинга по GPU
- VRAM Estimation: Умная оценка VRAM по модели видеокарты вместо хардкода
- GPU Status UI: Бейдж с информацией о GPU tier и доступных функциях
Профессиональный интерфейс с мультимониторами, голосовым управлением и мгновенной навигацией.
- Multi-Monitor: Отсоединение viewport в отдельное окно
- Hanging Protocols: Предустановленные layout-ы viewport-ов
- Minimap: Навигационная миникарта
- Voice Control: Голосовое управление просмотром
- QR Share: Генерация QR-кода для быстрого доступа
- Hotkeys: 14+ горячих клавиш с кастомными привязками
- Fullscreen: Полноэкранный режим
- VRT Manager: Менеджер Volume Rendering пресетов
- Context Menu: Правый клик — Screenshot, Fullscreen, Reset, Export
- 132 UI Controls: Полный набор элементов управления
Сравнение версий и конкурентов
| Функционал | C4D Pro v5 | C3D Pro v3.0 | DICOM Viewer Pro v2.0 | RadiAnt | PostDICOM | 3D Slicer |
|---|---|---|---|---|---|---|
| Multi-SeriesАвто-группировка по UID | Auto-Group | Один stack | ||||
| 4D Cine (rAF)Плавное воспроизведение | requestAnimationFrame | setInterval | ||||
| DICOM HeaderПросмотр всех тегов | Full Viewer | |||||
| Undo/RedoCtrl+Z / Ctrl+Y | Стек 50 операций | Заглушка | ||||
| ScreenshotPNG экспорт viewport | Ctrl+P / Context | |||||
| 🧠 Worker MetaCache3D MPR через Worker path | MetaCache Engine | Только main thread | 2D | Native | Облако | Native |
| 🔬 Code AuditПрофессиональный аудит кода | 28 000 строк | — | — | Open Source | ||
| 🧹 Memory ManagementУтечки памяти, очистка | Advanced Clear | Базовый | — | |||
| 🧬 ITK-WASM ProcessingGaussian, Median, Diffusion, Morphology | 6 алгоритмов | Базовые | 50+ фильтров | |||
| 📊 Study Quality AnalyzerАвто-оценка параметров КТ | 960 LOC engine | |||||
| 🔧 Worker Pool (Comlink)Параллельный парсинг DICOM | до 6 потоков | 1 поток | Native | Облако | Native | |
| 3D движокVolume Rendering | VTK.js + WebGPU | VTK.js + WebGPU | 2D Canvas | |||
| AI СегментацияMedSAM / On-Device | 8 AI (ONNX) | 8 AI (ONNX) | MedSAM | Плагины | ||
| 📱 Mobile Adaptive UI | Collapsible Panels | Touch UI | ||||
| 🎥 Cinematic RenderingSSAO + Bloom + Morph + Auto-Preset | Full Pipeline | Базовый | ||||
| 🎨 TF EditorVisual + Histogram + Save/Load | Full Editor | |||||
| 🫀 Clinical Tools (20+)TAVI, Agatston, CTR, BMD, DSA... | 20+ tools | Базовые | Плагины | |||
| 🎯 Virtual Endoscopy | ||||||
| 🔬 PET-CT Fusion | ||||||
| 📦 Export FormatsDICOM SR, NIfTI, STL, RT-STRUCT... | 14 formats | 10+ | PNG/JPEG | PNG | ||
| 🎤 Voice Control | ||||||
| Report Builder | PDF + DICOM SR | Полноценный | ||||
| Инсталляция | Zero-footprint + PWA | Zero-footprint + PWA | Zero-footprint | Установка | Браузер | Установка |
| Стоимость | Бесплатно | Бесплатно | Бесплатно | $54/год | $10-99/мес | Бесплатно |
Для кого этот инструмент?
Врачи-рентгенологи
Полноценная MPR-станция с Multi-Series, DICOM Header, VRT и Fusion — прямо в браузере, без установки.
Исследователи (AI/ML)
MedSAM сегментация, NIfTI/RT-STRUCT/STL экспорт, ITK-WASM обработка, Multi-Series, Region Growing, 14 форматов вывода для ML-пайплайнов.
Кардиологи и Хирурги
TAVI Planning + PDF, Agatston Scoring, CTR, Aorta Diameter, Vessel Tracking, Coronary Labeling, Virtual Endoscopy, 4D Cine.
Нейрохирурги
Midline Shift, PET-CT Fusion, DSA, Vertebra Numbering, Bone Removal, Comparison с предыдущим исследованием.
Студенты и Ординаторы
Бесплатная 3D-станция. Volume Rendering, Cinematic Mode, DICOM Header — учитесь на реальных данных.
📱 Мобильные пользователи
Адаптивные сворачиваемые панели, touch-управление, Worker MetaCache для стабильного 3D MPR на Android и iOS.
🧬 Биомедицинские инженеры
ITK-WASM фильтры, Study Quality Analyzer, NIfTI конвертация, Worker Pool для batch-обработки серий — научные инструменты в браузере.