[NEUBIAS Academy@Home] Webinar “Introduction to 3D Analysis with 3D ImageJ Suite” + QUESTIONS & ANSWERS

Dear all,

On the 26th of May 2020, was given the NEUBIAS Academy webinar “Introduction to 3D Analysis with 3D ImageJ Suite”.
Speaker: @ThomasBoudier
Moderators: Mafalda Sousa, @Fabrice_Cordelieres, @Christian_Tischer
Video of the webinar: on the Youtube channel of NEUBIAS (video).
Slides: on ImageJ.net (pdf)

Table of contents

3D ImageJ Suite

General

Q1: Can I have the link to the github page for the slides, please ?
  • no

The presentation is available here. This temporary dropbox contains the slides for the presentation with some sample data and the latest update of the plugins.

Q2: were do i download this 3d suite? is it free?
  • no

Yes, it is free and open-source, the main documentation is available on the 3D ImageJ Suite website. It can be installed in Fiji as an update site.

Q3: Also, silly question but I often have trouble getting the 3D tools even working in the first place, even the 3D viewer. Java3D seems to no longer exist as well. How have you guys been getting around this? I've probably missed something really obvious, but thanks for any help.
  • no

The Java3D library is no longer maintained, Fiji provides an open-source replacement that works as fine. Do you use ImageJ or Fiji? In Fiji, the 3D Viewer is working fine. If you are using ImageJ, check the installation information for the 3D ImageJ Suite.

Q4: is the 3D ImageJSuite free and where do i download it from please?
  • no

same as Q2

Q5: Im using fiji, only message I get is this: 1.6.0-scijava-2-pre11-daily-experimental daily
  • no

Please ask for help on this forum.

Q6: Nevermind I've got it working. I've had so much trouble with it in the past I just assumed it wasn't working but the voxel sizes had changed when I loaded my data so it just wasn't displaying. My other problem was the plugins arent showing up but I think the installation and download section here has everything I need: My other problem was the plugins arent showing up but I think the installation and download section here has everything I need: https://imagejdocu.tudor.lu/plugin/stacks/3d_ij_suite/start
  • no

Please do not forget to install ImageScience (see Q2 for main documentation page), this dependency may be removed in the future version.

Segmentation

Q7: Regarding the iterative thresholding: how does this relate to the auto-local-threshold in ImageJ? Could one get similiar results?
  • no

Local thresholding works on adjacent patches and computes only one automatic threshold. This automatic threshold may not be the best for all the objects within the patch. Iterative thresholding will compute all possible thresholds and choose which one is best for each different object, based on different criteria like shape, volume or edges. If objects are very close to each other, iterative thresholding can perform better than local thresholding.

Q8: is this local thresholding for seeds different than iterative thresholding? looks very similar - what is the difference
  • no

Iterative thresholding does not require any seeds.

Q9: is this method suitable for segmentation of complex samples such as spheroid?
  • no

It all depends on what you call ““complex””. This is another tool in your toolbox, we are advising to look also at more specific tools, AI-based, such as StarDist or Cellpose for 3D nuclei segmentation.

Q10: is there a difference betweeen performing a watershed segmentation in the 3D suite or in the MorphoLibJ package?
  • no

It should be more or less the same, details in implementation may differ like the neighborhood used for propagation.

Filtering

Q11: Can I use filtering on a deconvolved image (3D) or should I do it in the raw 3D image directly? I have noise amplification
  • no

Filtering can be used as denoising, and deconvolution is to be used directly on the raw image. Deconvolution will also perform denoising. If you don’t have noise on the image, try to analyze the raw image. If the image is noisy and you can improve it with deconvolution, then go for it.

Q12: Do you have a preview during thresholding or filtering? Or you can only set your parameters and run?
  • no

No, we did not implement the preview features, maybe if somebody wants to help :slight_smile:

3D Manager

Q13: Colocalization is measuring the colocalization between all objects in 3D ROI Manager, which takes a lot of time. Is there a way to split objects in 2 groups to do coloc between group A with group B ?
  • no

Use automation to isolate the two sets, there is no direct way to do it with the 3D ImageJ Suite. Rather use DiAna for this kind of case study.

Q14: I guess any labelled image (e.g made from StarDist) can be imported in 3D ROI manager - but are there general size restrictions? What about 3D + t?
  • no

Labelled images: Yes; Limitations: depends on the total size of your objects. May take some time: while loading, be patient. About 3D+T: works on hyperstacks but only the current channels/timepoint is imported=> macro recordable: automate it.

Q15: Please, can you explain in more detail the ""Colocalisation"" opportunity provided in the ""RoiManager3D""? How does it work and what kind of outputs does it offer? Thank you very much, and congratulations for this webinar!
  • no

Check slides 36/39. Basically the colocalisation measurements provided by 3D ImageJ Suite is object-based, it will compute the number of intersection voxels.

Q16: Where do you specify whether you want to visualize the contour or the center of the objects? (refering to your slide 22)
  • no

Click on the wrench, you have a selection of display options.

Q17: Can you show the suite in action ? Some live demonstration would help understanding the logic of how to use the various plugins together.
  • no

After the slideshow ;-), check the youtube video available soon.

Q18: How do you make these coloc groups A and B ? (slide 40)
  • no

You have to manually define your objects A and B, and eventually automate the process. You can also try the associated plugin 3D MultiColoc, or use DiAna.

Q19: Can DiAna be used easily with 3D ROI Manager ?
  • no

Both DiAna and 3DManager relies on the same core library, and they have a lot in common. DiAna has a better interface to deal with 2 sets of objects, 3DManager is more designed to work with one set of objects. You can segment your data using DiAna then import the segmented images into 3DManager. You can also touch up your objects (delete, merge, …) with 3D Manager then import the modified stacks into DiAna.

Q20: I’ve just tried it, yes it does. What i meant was can i use the 3D roi manager on a 2D image. Answer = yes. Then can i use this to measure all distances between every object on the 2D image. Answer = Yes
  • no

Generally 3D Manager and plugins form the 3D ImageJ Suite can be used with 2D images. Some restrictions apply regarding computation of 3D shapes vs 2D shapes.

Q21: And if not, is there plans for implementing this sort of feature in the future?
  • no

See Q20.

Analysis

Q22: is the object on top 5 voxels ? (slide 29)
  • no

The object on top is a 2D object, so yes it has 5 pixels, I would not called these voxels.

Q23: any link to paper or data on how to classify cell cycle using 3D moments? which tool for classifciation using 3D moments (and can 3D moments be pluged in, for instance, CellProfiler) (this is really cool btw)
  • no

In the presentation I was referring to the paper from Gulmohammed 2014. Other interesting paper for Cell cycle+automated classification: look for the ““Mitocheck”” paper from the Ellenberg lab. Also Ilastik can perform shape classification.

Q24: can distances between ROIs be used on a 2D image loaded into the 3D ROI manager?
  • no

See Q20.

Q25: I have spheric cells with different spots inside of cells, and I want to analize if exits differences in distribution of these spots in different strains (it said if it displays homogeneus distribution or non homogeneus distribution as only in one part of cell). What is the best way to analize these distribution? I have Zstacks.
  • no

The 3D ImageJ Suite includes a plugin about spatial organisation.

Q26: Regarding the measuremens of distances in 3D (between objects), in the case I have stacks acquired at different Z-distance, would the software take into account this difference? and therefore would I be still able to compare the distances of my two stacks?
  • no

If by Z-distance, you mean spacing between slices, I would definitely not recommend it, because of the Richardson effect. The 3D suite and 3D Manager will take Z spacing into account for each measurements, however if you want to compare distances between two stacks with different Z spacing, I will not guarantee the results.

Q27: surface of contact uses a cutoff, for min distance between objects?
  • no

yes, you can set up this cutoff in the options.

Q28: Are these measurements available for both 8b and 16b images?
  • no

Yes, they are, and also they should be available for 32-bits images, if it is relevant.

Q29: Is there a way of defining certain objects as related to one another? For example, all objects inside of a certain 3D object would be considered daughter objects of the larger object, and hence you can measure only those relationships.?
  • no

One easy thing to do is to import the smaller inside objects into 3D Manager then use the Quantif3D function with the labelled image of bigger objects, you will then know the id, or label, of the parent object of all these smaller objects. For more information about qualitative relationship between objects I would refer to the MereoTopology plugin.

Q30: Is there a way to construct the space between two 3D objects into an “object” for visualisation?
  • no

There is no easy way to do it, this question relates to how to define between for two objects. One possibility is to compute the intersection when the objects are dilated by a radius corresponding to the space between the two objects. Another possibility is to first select the 2 objects in the 3D Manager, then merge them. Once done, try to get the convex hull and get a mask out of it. Subtract the mask containing the 2 original objects to the convex hull: you should get something close to the space between the 2 objects, but you will get extra stuff if the original objects are not convex, so you will need to keep only areas touching both objects. The contact surface computation does not exactly compute the space between objects but the contours voxels of both objects that are close.

Q31: EVF: can you do this on multiple ROIs/nuclei or only one at a time? (super cool by the way)
  • no

If you consider EVF for multiple distinct objects, it will normalise on all the objects together, so the values may be difficult to interpret, values between 0 and 0.1 will mean the 10% voxels closest to the periphery of all objects put together, so I guess you want to do it one by one. Object-based EVF and EVF layer analysis should be available in a future release.

Q32: About the spatial statistics: can it also compute Rippley's K function?
  • no

The spatial statistics tools of the 3D ImageJ Suite focus on the F and G functions, the H function is also available (all distances from all pairs). For spatial statistics with the K function, I would refer you to the spatial analysis plugin in ICY.

Q33: Randomization tool is only for center to center , right ? can we do something about edge to edge ?
  • no

If you refer to the hard-core distance, yes it is only for center-center distance. A randomisation model could be built that deal with border-border distance when the objects have certain volume. I guess it is a bit more difficult to implement.

Q34: Are the graphs generated in the 3D suite itself?
  • no

yes

Q35: Are there plans of implementing a feature that would allow for defining associations between specific types of ROIs (like daughter-mother associations)? For example- if you are only interested in puncta found within nuclei and not outside of the nuclei, is there a way selecting measurements, e.g. distance measurements, from the puncta found ONLY within the nuclei?
  • no

same as Q29.

Q36: Is the 3D moments measurement included in this measurements tool box (MEasure 3D) or is it Qantif 3D?
  • no

3D moments refer to shape analysis and are included into Measure3D, see Q23.

TAPAS

Q37: How do you manage protocols, if you have several versions, shared among several users?
  • no

There is a menu file that will link the name of the process to the java class used. I would then recommend to keep a track of the protocols files and this menu file.

Q38: What would be the advantage of using TAPAS instead of a regular IJ macro scipt with batch processing? Would that be just a simplification of the calls in the script?
  • no

TAPAS is another system for automation, it is more robust and generic than IJ macros. You can also call your favorite macro within TAPAS. TAPAS does not require any knowledge in programming.

2 Likes

I work in an imaging core facility and I’m giving a webinar on 3D analysis and visualization in FIJI for our users. There is a new feature in the 3D ImageJ Suite called “3D Association” and the results table contains a decimal number called the “Cost”. What exactly does that measure and how is it calculated? Thank you.

Hi @GopherConfocal,

This is a new feature actually; it will associate objects from two different labelled images with a one-one association. This one-one association is based on the Hungarian Algorithm. The value cost displayed is the cost to associate object i1 from image1 with object i2 from image2.

In the current implementation of the plugin the cost is based on colocalisation, the better the colocalisation the lower the cost, from 1 to 0. If the objects are not colocalised, the distance border-border is computed (in voxel unit) hence starting from 1.

I use this association mainly for tracking but I am sure there could be other applications.

Best,

Thomas

3 Likes

I have another question, this time regarding iterative thresholding. What exactly is the value method in iterative thresholding? Thank you for your consideration.

Hi @GopherConfocal,

Thanks for the question, actually I forgot about these values. Actually I am using mainly the STEP method that will test thresholds every value steps, if value for step is 1 it will test all thresholds, if value for step is 10 it will test threshold T then threshold T+10. Note that it will only test thresholds for available grey values in the image.

For other methods I will refer you to the documentation.

The thresholds tested can be tuned with 3 options with the value parameter :

Step : threshold are tested each step value
Kmeans : histogram is analysed and clustered into value classes using a KMeans algorithm.
Volume : a constant number of pixels between two thresholds using value thresholds.

Best,

Thomas

1 Like