@openbraininstitute/morphoviewer
v0.25.1
Published
Class to display SWC morphology files in 3D
Maintainers
Readme
@openbraininstitute/morphoviewer
Developent
git clone [email protected]:openbraininstitute/morphoviewer.git
cd morphoviewerThen, you will need two terminals:
cd lib
npm install
npm startcd doc
npm install
npm startFunding & Acknowledgment
The development of this software was supported by funding to the Blue Brain Project, a research center of the École polytechnique fédérale de Lausanne (EPFL), from the Swiss government's ETH Board of the Swiss Federal Institutes of Technology.
Copyright (c) 2024 Blue Brain Project/EPFL Copyright (c) 2025 Open Brain Institute
Release notes
v0.25.1
- Enable antialiasing on
MorphoViewerSmallCircuitWebGL context for smoother rendering - Remove leftover
console.debugstatement fromMorphoViewerSimul
v0.25.0
- Add section-based coloring to
MorphoViewerSmallCircuit- Cell
colorprop now accepts aSectionColorsobject with per-section colors (soma, axon, myelin, apicalDendrite, basalDendrite, unknown) - Uses a texture palette for rendering distinct colors per morphology section type
- Cell
- Add
Myelinentry toCellNodeTypeenum - Add new
morphoViewerConvertSwcIntoTreeutility function for converting SWC file content into aMorphoViewerTreestructure - Export
morphoViewerConvertSwcIntoTreefrom the library entry point
v0.24.24
- Improve Octree misalignment tester (
tst/) with margin-based bounding box comparison to handle float precision errors- Add
SuccessGridcomponent displaying per-LOD-level success/failure counts - Add restart button and hide file selector after loading
- Use
rehype-rawfor richer Markdown rendering in reports
- Add
- Add loading progress indicator to
MorphoViewerOctreedoc page (bytes loaded, blocks in progress) - Remove leftover
console.logdebug statement fromOctreeManager - Split
typedocscript intodoc(single run) anddoc:watch(watch mode)
v0.24.23
- Add new
MorphoViewerScalebarcomponent (lib/src/components/morpho-viewer-scalebar/) for displaying a dynamic scale bar- Renders graduated tick marks with auto-scaled units (m, mm, μm, nm, pm, fm)
- Accepts a
spacePerPixelevent to reactively update when the camera zooms - Supports custom positioning via an optional
classNameprop
- Add optional
scalebarprop toMorphoViewerSmallCircuitandMorphoViewerOctree- Accepts
booleanor a CSS class name string for custom styling
- Accepts
- Switch camera from perspective to orthographic projection for
MorphoViewerSmallCircuitandMorphoViewerOctree- Enables accurate scale bar measurements
- Add
space-per-pixelbehavior (lib/src/behaviors/) to broadcast camera zoom level changes - Rename
controls-layer/directory tocontrols-layout/for consistency - Fix CSS specificity issues by scoping canvas styles to a
.webglclass
v0.24.22
- Add new
ControlsLayoutcomponent (lib/src/components/controls-layer/) for configurable viewer header controls- Supports built-in actions:
fullscreen,reset-camera,minimize,close - Accepts arbitrary
React.ReactNodeelements alongside named actions - Groups can be nested in arrays for flex-based layout with
space-betweenjustification
- Supports built-in actions:
- Add
controlsprop toMorphoViewerSmallCircuitto allow custom header control layouts- Falls back to a default layout (
reset-camera,fullscreen,close,minimize) when not provided
- Falls back to a default layout (
- Add
onMinimizecallback prop toMorphoViewerSmallCircuit - Replace hardcoded
<header>markup inMorphoViewerSmallCircuitwith the newControlsLayoutcomponent - Update
MorphoViewerSmallCircuitdoc page to demonstrate the configurable controls
v0.24.21
- Add optional
gizmoprop toMorphoViewerSmallCircuitfor displaying an axes orientation controller- Accepts
booleanor aPartial<TgdPainterGizmoOptions>object (alignX,alignY,size,margin) - Dynamically updates gizmo position, size, and visibility at runtime
- Accepts
- Reuse
GizmoSettingscomponent in theMorphoViewerSmallCircuitdoc page for interactive gizmo configuration - Move
GizmoSettingscomponent to shareddoc/src/components/gizmo-settings/directory - Remove leftover
console.logdebug statements fromOctreeManager - Fix import ordering in
tst/rspack.config.mjs
v0.24.20
- Add optional
gizmoprop toMorphoViewerOctreefor displaying an axes orientation controller- Accepts
booleanor aPartial<TgdPainterGizmoOptions>object (alignX,alignY,size,margin) - Dynamically updates gizmo position, size, and visibility at runtime
- Accepts
- Add
GizmoSettingspanel in the doc app for interactive gizmo configuration - Add nested route
/morpho-viewer-octree/gizmo-settingsin the doc app - Upgrade
@tolokoban/tgddependency from^2.0.126to^2.0.130to fix a bug in Gizmo resizing
v0.24.18
- Add Tauri-based testing tool (
tst/) for checking LOD blocks bounding boxes potential misalignements
