The segmentation is based on a smart interpolation of sparsely pre-segmented slices taking into account the complete underlying image data. That means, before you perform the segmentation process, you must pre-segment some reference slices in a segmentation editor of your choice. The pre-segmented slices are used to automatically segment the remaining volume. To start the segmentation process, upload your image data and your pre-segmented slices and click the start button.

To segment the image data, several weighted random walks start in the pre-segmented slices and diffuse into the volume. Over time, the voxels are hit by these random walks. Based on the number of hits, the probability that a voxel belongs to a segment is calculated. The segmentation can then be performed by assigning each voxel to the label from which the most hits come. You can think of Biomedisa as an interpolation that takes the underlying image data into account.

Online: No special hardware required.

Locally: You must have at least one state-of-the-art NVIDIA GPU. The most important points are the GPU memory and the memory of your system (RAM). How much memory you exactly need depends on the size of the image you want to segment. To give you an idea, we tested two of our showcases, which you can download from our gallery. First, we used a workstation with a GeForce 1080 Ti (11 GB GPU memory). The system has 60 GB of RAM. Second, we used a server with 4 NVIDIA Tesla V100 (each of it has 32 GB of GPU memory) and 750 GB of RAM.

1. The biological screw is a rather small image (419 x 492 x 462 voxels). About 7 GB of RAM and 3 GB of GPU memory were used. Two objects were pre-segmented every 20th slice.

1 NVIDIA GeForce 1080 Ti (11 GB) ⇨ 6 min 36 sec

4 NVIDIA Tesla V100 (each 32 GB) ⇨ 1 min 2 sec

2. Female parasitoid (1077 x 992 x 2553 voxels). Images of this size are widely used on Biomedisa. About 40 GB of RAM and 10 GB of GPU memory were used. Originally, we pre-segmented 56 individual body parts every 10th slice. But for this test, we only used pre-segmentations of every 20th slice to speed up the computation.

1 GeForce 1080 Ti (11 GB) ⇨ 1 h 25 min 34 sec

4 NVIDIA Tesla V100 (each 32 GB) ⇨ 19 min 48 sec

The following three-dimensional data file formats are supported: Multipage TIFF, Amira mesh (AM), MHD, MHA, NRRD and NIfTI (.nii & .nii.gz). In addition, a zipped folder containing two-dimensional slices as DICOM, PNG, or TIFF that represent the volume can also be uploaded. The data type can be 8-bit, 16-bit or 32-bit integer or float. You can even upload 64-bit images but they are automatically converted to 32-bit during the calculation.

The label file should contain pre-segmented reference slices. It must have exactly the same xyz-dimensions like the uploaded image file. If you use an Amira label file, all your information, like names and colors, will be preserved. Once you label a slice, all segments that appear in this slice must be labeled. Otherwise, these areas are considered as background, and your segmentation will not be correct. Tip: Download one of our showcases from our gallery and see how the label files were created.

You can activate All axes in the settings next to your label file. You can then label in either all three orientations at the same time or in one or two orientations of your choice. There must be at least one empty slice between your pre-segmented slices. The algorithm needs this to detect in which orientations you have pre-segmented.

The region of interest can be roughly 8 GB large (e.g. 2000 x 2000 x 2000 for 8-bit images). Biomedisa checks whether your data can be processed or not. If your data is too large, it will automatically complain and stop the process. So just give it a try.

In addition to the regular result without any post-processing, you can choose between cleaned (removed outliers), filled holes, post-processed with active contours, uncertainty (a probability map on how uncertain your segmentation result is), and a smoothed version. You can fine-tune these features in the settings .

  • All axes enables pre-segmentation in all orientations (not only xy)
  • Uncertainty calculates the uncertainty of the result
  • Compression results are compressed
  • Normalize training data (AI) training images are scaled to the same mean and variance
  • Consider voxel location (AI) takes into account the coordinates of the voxels
  • Balance training data (AI) balances the number of foreground and background patches
  • Flip x-axis (AI) randomly flipps the patches horizontally
  • Flip y-axis (AI) randomly flipps the patches along y-axis
  • Flip z-axis (AI) randomly flipps the patches along z-axis
  • Rotate (AI) randomly rotates the image (±) during traing (maximum is 180 degrees)
  • Number of epochs (AI) the number of epochs (how often the network "sees" a patch)
  • Batch size (AI) the number of samples used in each step to update the weights of the network
  • X Scale x-axis of the images is sclaed to this size before training
  • Y Scale y-axis of the images is sclaed to this size before training
  • Z Scale z-axis of the images is sclaed to this size before training
  • Stride size (AI) the stride made to create overlapping patches of size 64x64x64
  • Smooth number of smoothing steps
  • Active contour alpha balance factor between expansion and shrinking
  • Active contour smooth number of smoothing steps after each iteration step
  • Active contour steps number of iteration steps
  • Delete outliers remove outliers (by default outliers smaller than 90% of the largest object)
  • Fill holes fill holes (by default holes smaller than 90% of the entire label size)
  • Ignore label single label or list of labels (e.g. 1,2,3) that are ignored
  • Compute only single label or list of labels (e.g. 1,2,3) that are exclusively calculated
  • You can either share your data with one or more users by entering their usernames, or you can create a password-protected download link .

    You can use the move icon to move your data between your projects or from and to your storage.

    You can have a quick view at your data with the slice viewer or visualize it with our 3D rendering software by clicking on the file icon .

    You can train a deep neural network by selecting some image files and the corresponding fully segmented label files. Then press the AI button . When training is complete, select the trained network and one or more images for which you want to predict the segmentation. Finally, press the predict button . Optionally, you can upload your data as a tarball (.tar & .tar.gz). Here, the names of the label files must match the names of the image files. See our gallery for an example. You can also refine your network (this is especially usefull for large images). After the first network has been trained, you can again select the image data, the label data and in addition the already trained network and press the AI button. A prediction with refinement is performed by selecting both the first and the second network.

    If you can't see seperate structures in your data, Biomedisa usually can't see them either.

    Please check out Biomedisa on GitHub.

    Biomedisa is free-of-charge for academic use.