May 21, 2025

Public workspaceIntermediate Filament Skeleton Labeling in KNOSSOS

  • 1HHMI
Icon indicating open access to content
QR code linking to this content
Protocol CitationAlyson Petruncio, CellMap Project Team 2025. Intermediate Filament Skeleton Labeling in KNOSSOS. protocols.io https://dx.doi.org/10.17504/protocols.io.14egn3d2yl5d/v1
License: This is an open access protocol distributed under the terms of the Creative Commons Attribution License,  which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited
Protocol status: Working
We use this protocol and it's working
Created: February 14, 2024
Last Modified: May 21, 2025
Protocol Integer ID: 95175
Keywords: intermediate filaments, knossos, FIB-SEM data, skeleton labeling
Abstract
Labeling of intermediate filaments in 2nm FIB-SEM data using the software KNOSSOS. All navigation, segmentation, and data import documentation can be found on the official KNOSSOS documentation page: https://knossos.app/documentation
Import FIB-SEM Data into KNOSSOS
Import FIB-SEM Data into KNOSSOS
FIB-SEM datasets must be converted into KNOSSOS-readable format before import. Python application knossos_cuber (https://github.com/knossos-project/knossos_cuber) standardizes image metadata for use in KNOSSOS.
Install Anaconda or Miniconda (https://docs.anaconda.com/free/anaconda/install/). Once installed, open the Anaconda Prompt. Before installing knossos_cuber, create and activate a virtual environment. Install knossos_cuber in the activated virtual environment in order to avoid Python version conflicts. Ensure all knossos_cuber executables are on your PATH.
Command
Install knossos_cuber in Anaconda Virtual Environment
conda config --add channels mdraw
conda create -n knossos_cuber knossos_cuber

Command
Activate a Virtual Environment in Anaconda
conda activate knossos_cuber

Command
Create a Virtual Environment in Anaconda
conda create -n knossos_cuber

Run knossos_cuber with 3 arguments:
  • format (-f) (supported formats: png, jpg, or tiff)
  • source_dir (input image file path)
  • target_dir (output directory)
Download KNOSSOS (https://knossos.app/). After opening the KNOSSOS GUI, select File → Choose Dataset ...

'Choose Dataset ...' Window
Select ellipsis field, and select knossos_cuber output file to import FIB-SEM data into KNOSSOS.
Assess FIB-SEM Data for Optimal Labeling Strategy and Identify Filaments
Assess FIB-SEM Data for Optimal Labeling Strategy and Identify Filaments
In order to optimize skeleton continuity and accurate identification of intermediate filaments, navigate through each dataset window to find the orthogonal plane with the closest axis view of each filament.

  • Intermediate filaments are ~10 nm in diameter and continue for at least 600 nm. Continuity and flexibility varies widely, but filaments will often maintain a consistent FIB-SEM staining contrast and move in bundles through centers of cells, sparsing out towards cell membranes.
  • Ribosomes are ~200% the diameter of intermediate filaments and not continuous. Ribosome and intermediate filament FIB-SEM staining contrast is often similar. Staining often overlaps, indicated by a sudden change in filament diameter when scrolling through the dataset.

Orthogonal planes of FIB-SEM dataset containing intermediate filaments; 'down-the-barrel' view of filaments is found in the XY plane (circled in red), while other orthogonal views show lengthened view of filaments (circled in blue).

Once the axis plane is identified, expand the window using the window icon in the top right corner of each orthogonal view. Using the mouse wheel, or d/f (+ Shift for faster scrolling), navigate through the selected plane to identify patterns in filament 'movement' and continuity. Visually track an identified filament to the edge of the dataset. Initiating skeleton trees on a dataset edge will increase segmentation efficiency.
Create a Skeleton Tree
Create a Skeleton Tree
Skeleton segmentations are composed of trees. Each filament is considered a separate tree and has a unique tree ID. Intermediate filament trees do not branch, so new tree nodes must be added to a selected end node.
Select the '2. Tracing Advanced' Work Mode before beginning segmentation to ensure multiple tree IDs can be generated.

Create a tree by first selecting 'c', which creates a new tree ID and color under the 'Windows' → 'Annotation' window. To place the first node, hover the mouse cursor over the center of an intermediate filament axis point and right click.
Node, navigation, and dataset settings can be modified under 'Preferences' → 'Preferences'. The 3D Viewer provides real-time visualization of skeletons, color coded based on tree ID.

After placing a node, scroll through the dataset until the tracked filament begins to subtly change trajectory. Hover over the center of the filament axis and right click.

As nodes are placed, refer back to other plane views to verify if node placement is accurate to the filament, does not 'jump' filaments, and continues or terminates. Nodes can be placed in any plane view from a selected end point during node placement.
At any point, a new tree ID and color can be created by selecting 'c'. Select a different tree for node editing under the 'Windows' → 'Annotation' window. Left click to select an end node in order to continue with tree segmentation.

Merge, Split, and Remove Skeleton Trees
Merge, Split, and Remove Skeleton Trees
In the event of a skeleton segmentation error, removal of individual nodes from trees can aid in efficient tree correction, especially when a single tree ID includes two or more filaments. Similarly, merging capabilities allow for piecewise skeleton segmentation if needed.
If an incorrect node was placed, select the incorrect node then select Del. There will no longer be an active node. If a node is deleted from the center of a tree, the tree will split into two fragments of the same tree ID.
When two separate tree IDs need to be merged into a single filament, move adjacent end nodes of both tree IDs closer together. Under the Windows' → 'Annotation' window, right click on each tree ID to merge selected nodes to a different tree ID.


Skeleton Export
Skeleton Export
To export skeleton segmentation NML files, select 'File' → 'Export to nml...'