Skip to content

Fiji Command – Surface Projection (Flywing)

Benjamin Wilhelm edited this page Jan 25, 2019 · 3 revisions

This page helps you getting started with the Fiji command for surface projection on a flywing.

About the Command

The command can be used to project the surface of a flywing in a 3D images to a 2D image. In the background, a TensorFlow model is downloaded and applied to the image. Because of high memory demands, the image is cropped into overlapping tiles and the model is executed on them separately.

Try it

Install and setup Fiji as described in the Installation Instructions.

Open an image

Download exemplary image data or use your own images for the following steps.

Start Fiji and open an image by choosing a file on your computer.

For this model, the image must be a 3D grayscale image with the axis X, Y and Z.

Run the Command

To run the model choose Plugins > CSBDeep > Demo > Surface Projection - Flywing. A new window with parameters will pop up.

  • Number of tiles: Number of tiles the image is split into to prevent memory issues. Increase this value if the Fiji process uses too much memory.
  • Overlap between tiles: How much the tiles overlap. 32 is a good value to prevent border artifacts.

After that, the command will run. A new window will pop up which informs you about the status of the execution.

Interpret the Results

The command will output two 2D images: called 'result' and 'control':

  • result: The location parameter μ of a Laplace distribution. Can be interpreted as the projected image.
  • control: The scale parameter b of a Laplace distribution. This value is high if the network was less sure about the real value of the image.

NOTE: The control image is currently not shown by the plugin.

See the supplemental material for more detailed information.

Troubleshooting

Out of memory exception/ high memory usage

If the image processed at once is too large the model will allocate too much memory and fail with an out of memory exception or consume all the available system memory. The plugin solves this problem by tiling the image into multiple smaller images and merging them again after the model was executed.

You can increase the number of images created and therefore reduce the memory consumption by setting a higher number for the parameter 'Number of Tiles'.

Slow execution

Running the model is computationally expensive and will take some time. Try the following things to speed it up:

  • Use a GPU: Neural networks can be executed much more efficiently on GPUs.

    If you have access to a more or less powerful Nvidia GPU you should use it. See Installation Instructions - GPU support

    The progress window will display a warning if you do not use a GPU:

  • Use a more powerful computer: If you have access to a powerful computer use it rather than your laptop.