Login processing...

Trial ends in Request Full Access Tell Your Colleague About Jove

Encyclopedia of Experiments

Drosophila Neuromuscular Junction (NMJ) Quantification: A Method to Assess Synaptic Morphology and Function


The Drosophila neuromuscular junction (NMJ) is used as a model to study the morphology and function of synapses. This video describes important features that researchers quantify to characterize the NMJ. The example protocol demonstrates a software able to perform the quantification automatically.


This protocol is an excerpt from Castells-Nobau et al., Two Algorithms for High-throughput and Multi-parametric Quantification of Drosophila Neuromuscular Junction Morphology, J. Vis. Exp. (2017).

1. Requirements Prior to Image Processing

  1. Perform Drosophila open book preparations of third instar wandering larvae (L3), as previously described.
  2. Co-immunolabel Drosophila NMJ terminals using a combination of two markers: Dlg-1 or Hrp together with Brp for analysis with "Drosophila NMJ Morphometrics", and Syt or Csp together with Brp for analysis with "Drosophila NMJ Bouton Morphometrics".
    NOTE: Antibodies from the same species can be combined by pre-labeling one with an antibody-conjugation kit such as the Zenon Alexa Labeling Kits.
  3. Image NMJ terminals using a microscope of choice, e.g., fluorescence (with or without ApoTome) or confocal microscopy.
    1. Acquire a 2-channel image stack of the NMJ terminal.
      1. Adjust the microscope settings in a manner that channel 1 acquires the NMJ terminal immunolabeled with Dlg-1 (or Hrp, Syt, Csp) and channel 2 the NMJ terminal immunolabeled with Brp.
      2. Optionally, analyze one-channel images (of synapses immunolabeled with a single antibody) with the macros. Image NMJs immunolabeled uniquely with Dlg-1 or Hrp for analysis with "Drosophila NMJ Morphometrics", or Syt or Csp for "Drosophila NMJ Bouton Morphometrics".
        NOTE: It is not possible to analyze synapses immunostained with only anti-Brp.
    2. Export the obtained images as individual .tiff files. Invert the channel order prior to running the macros if not acquired as indicated.

2. Software Requirements and Installation

  1. Download the macros: "Drosophila NMJ Morphometrics" and "Drosophila NMJ Bouton Morphometrics" from the following website: https://doi.org/10.6084/m9.figshare.2077399.v1.
  2. Move the cursor to the folder "Macros update 1", and click on the appearing option "view". A list with the content of this folder will appear. The folder contains the macros "Drosophila NMJ Morphometrics" and "Drosophila NMJ Bouton Morphometrics".
    NOTE: Both macros are compatible with Fiji versions 1.4, which is also provided in the same folder. The macros may not run on recent versions. Please utilize the provided version 1.4. It is unproblematic to start this version, even on computers with a more recent Fiji version available.
  3. Click on "Download all". The folder content will be downloaded to the computer as a .zip file. Unzip the downloaded file.
  4. Copy the Drosophila_NMJ_Morphometrics.ijm and Drosophila_NMJ_Bouton Morphometrics.ijm files to Fiji.app/plugins/ directory. When restarting the program, the macros will appear at the bottom of the Plugins dropdown menu.

3. Run Sub-macro "Convert to Stack" to Create Z-projections and Hyperstacks of the NMJ Images

  1. Start the graphical interface by selecting Plugins in the toolbar and choose "Drosophila NMJ Morphometrics" in the dropdown menu.
  2. Define the "Unique File String" setting in the macro's graphical interface.
    NOTE: The microscope software uses an identification signature to organize planes and channels when storing stacks as individual '.tiff files. The entered unique file string setting needs to specify the signature assigned by the software to the first plane of the first channel (important: lowest plane and channel number needs to be indicated).
  3. Select only the sub-macro "Convert to stack" and click "ok" and select the folder where the images are located. If a main directory with several subfolders is selected, all individual '.tiff files within the main directory and subfolder matching the unique file string criteria will be processed.
    1. If the z-stack only contains one channel, select the box "Channel 1 only".
  4. Notice that two new files per NMJ image, by default termed as stack_image_name and flatstack_image_name will appear. Store only these stack and flatstack for further analysis. The .tiff file series can be deleted at this point, minimizing the required storage capacities and avoiding potential error sources.

4. Run Sub-macro "Define ROI" to Delineate the NMJ Terminal of Interest

  1. Start the graphical interface of "Drosophila NMJ Morphometrics".
  2. Select only the checkbox "Define ROI" and press "OK" and select the main directory where the images entitled flatstack_name are stored and press "Select". The sub-macro "Define ROI" automatically searches through all subfolders within the selected main directory.
  3. As the first projection opens, select the "Freehand selections" tool in the toolbar.
  4. Using the mouse draw a selection that exclusively contains the complete NMJ terminal of interest and click "OK" in the window "Define terminal". The macro will proceed with the next projection.
  5. Delineate the next ROI and repeat until all ROIs are defined. The ROI image file, named "roi_image_name", will be stored in the same directory as the previously generated stack and projection images for each of the processed images. The output of this sub-macro is a binary image of the ROI in white on a black background.

5. Run Sub-macro "Analyze" to Quantify NMJ Terminal Features

  1. Go to the toolbar, select "Plugins" and use:
    "Drosophila_NMJ_Morphometrics" when analyzing synapses immunolabeled with anti-Dlg-1 or anti-Hrp (channel 1) together with anti-Brp (channel 2), or "Drosophila_NMJ_Bouton_Morphometrics" when analyzing synapses immunolabeled with anti-Syt or anti-Csp (channel 1) together with Brp (channel 2).
    1. When one channel image stacks are to be analyzed (the structural channel Dlg-1 or HRP for "Drosophila_NMJ_Morphometrics", or Syt or Csp for "Drosophila_NMJ__Bouton_Morphometrics"), select the box "Channel 1 only".
  2. Adjust the scale corresponding to the images to be analyzed.
    1. If one pixel in the image corresponds to 2.5 µm, indicate Scale-Pixels = 1, Scale-Distance in µm = 2.5. In case both settings are left at 0, the NMJ area, perimeter, length and longest branch length will be expressed in number of pixels.
  3. If required, adjust the default analysis settings of the macro. Perform adjustments only if the sub-macro "Analyze" has previously been run with unsatisfactory results (see end of this section, and section 6 for instructions how to optimize the settings).
  4. Select the checkboxes "Analyze" and "Wait" and press "OK".
    1. Select the "Wait" check box when running the sub-macro "Analyze" on 2 channel images. Otherwise errors in active zone counting can occur due to limited computer capacities.
  5. As a new window "Choose a Directory" opens, select the directory where the images are located and press "select". The macro will analyze all images stored in the main directory and, if applicable, subsequent folders (using the three files from executing the previous sub-macros: stack_image_name, flatstack_image_name and roi_image_name). The macro processes each image individually and consecutively. This can take several minutes per image stack (depending on the computer capacity).
  6. After running the macro, note that a new image file named res_image_name for each analyzed synapse stored will be created in the parental folder. The quantitative measurements will be stored as "results.txt" file.
  7. Inspect all result images to detect and exclude pictures with segmentation errors. Possible segmentation errors are described in Table 1, along with advice how to adjust settings to circumvent these errors. Result images with such segmentation errors are provided as examples in Figure 1.
    NOTE: When running the macro with the default settings observed in the user interface, there was an accuracy of approximately 95% when macro assessment was compared to manual evaluation.

6. Adjust the Macro Settings to the Images

  1. When more than 5% of images show segmentation errors, explore the different algorithms to define/choose the most suitable macro settings for the images.
  2. Adjust rolling ball radius value
    NOTE: The rolling ball radius function subtracts the background of the image. This function is of crucial importance when working with images acquired on fluorescence microscopes and/or when images have high background noise. The subtraction of the background will help the macro's auto-thresholding steps to produce adequate segmentation of the NMJ terminals.
    1. Select three NMJ stack_image_name images generated by the sub-macro "Convert to stack". Choose images which are representative for the image dataset.
    2. In the toolbar, select Image | Color | Split channels. Two image stacks will be created, one representing channel 1 and the other channel 2, respectively and save them.
    3. Open the image stack belonging to channel 1 open, corresponding to Dlg-1, Hrp, Syt or Csp immunolabeling.
    4. Run the filter "Subtract background" by selecting "Process" in the toolbar followed by "Subtract Background…" in the dropdown menu.
    5. Click on the preview checkbox in the pop-up window and adjust the rolling ball radius to the value most appropriate for the images. The "Rolling ball radius" setting should be adjusted to values that increase the contrast between synapse and background (see Figure 2A').
      1. See Figure 2 for an example. In panel A, parts of the synapse show the same grey levels as the background, whereas in Figure 2 panel A' a "Rolling ball radius" of 500 results in strong contrast between the synapse and the background.
    6. Create a z-projection by selecting in the toolbar Image | Stack| Z-projection, chose Projection type = Max Intensity and save the resulting image. When the appropriate value for the rolling ball radius is defined, run the "Subtract background" algorithm on the remaining representative images with the same rolling ball radius value. Create the Z-projections and save them (in any directory).
      NOTE: The rolling ball radius value for 8-bit or RGB images should be at least as large as the radius of the largest object in the image that is not part of the background. For 16-bit and 32-bit images the radius should be inversely proportional to the pixel value range.
  3. Determine the different auto-thresholds that will be used
    1. Open the Z-projections saved in the previous step (6.2.6) and Select Image | Adjust | AutoThreshold | Try all.
    2. As a binary thresholded result image will appear with all different auto-threshold algorithms, determine the most suitable algorithm for the images.
      1. When running the macro later on, change the threshold in the macro settings accordingly.
      2. Use more restrictive thresholds such as "RenyiEntrophy" or "Moments" as the NMJ outline threshold and more permissive thresholds such as "Li" to determine the NMJ skeleton, and "Huang" to determine active zones. When images are very sharp with little to no background, use "Huang" as" NMJ outline threshold. Otherwise parts of the synapse might be missing after image segmentation.
      3. See Figure 2B for an example. Appropriate segmentation of the synapse is obtained with auto-thresholds highlighted by green boxes. Some examples of non-suitable thresholds are highlighted by red boxes (check synapses at high magnification). In the latter, either parts of the synapse are missing or parts of the background are included.
  4. Determine the maximum size of the small particles
    NOTE: This function will exclude all particles detected by the NMJ outline threshold and Skeleton threshold that are smaller than the defined value in the "small particles setting" from the analysis. This value is defined in pixels. This function serves as a noise filter and is very useful when high rates of non-uniform background (such as crystals/dust) are present in the obtained images.
    1. Open the Z-projections saved in step 6.2.6. and set the scale to detect number of pixels via Analyze | Set Scale. Apply the following settings: distance in pixels = 1, known distance = 1, pixel aspect ratio = 1, Unit of length = pixel and press "Ok". Click on the "Oval selection" tool in the toolbar.
    2. Using the mouse draw a selection closely surrounding single particles that are present in the immunostaining but do not belong to the NMJ. Press Ctrl+m for a Windows user or cmd+m for Mac users. A result window will open, indicating the area of the particles selected in number of pixels.
    3. Repeat the previous step several times with several artifacts present in the images to determine the biggest contaminating particle/artifact area. This will be the value to set in the setting when running the macro later on. When running the macro set the "Small Particles Size" as the smallest particle size observed pus a margin of 25%.
    4. See Figure 2D for an example. The biggest crystal detected has an area of 112 pixels. The "Small particles size" setting, when processing this image with the macro, should be set to 125 - 150.
  5. Determine minimum bouton size
    NOTE: This function will exclude all boutons detected by the NMJ outline threshold that are smaller than the defined value from the analysis. This value is defined in pixels.
    1. Follow the same steps as described in section 6.4, but in this case draw a selection surrounding the smallest boutons present in the NMJ terminal. Choose the smallest area corresponding to the smallest bouton of the measured ones. This is the value to set in the minimum bouton size setting when running the macro later on.
  6. Define "Maxima noise tolerance" value
    1. To define the "Find maxima noise tolerance" value for the macro, open the channel 2 Z-stack saved in section 6.2.2.
    2. Go to the plugins tab in the popup menu, select Process | Maximum(3D), and when the maximum_image_name appears (which can take up a few minutes), close the original image stack.
    3. Select the Maximum…_image_name (the newly obtained image stack) and select Plugins | Process | Minimum (3D), when the new image Minimum of Maximum…_image_name apears close the Maximum… _image_name stack.
    4. In the toolbar, select Process | Find maxima…. A new window "Find maxima…" will open. Click the checkbox "Preview point selection…" and fill the "Noise tolerance" box with the default macro setting 50. The maxima points will be indicated in the image as little crosses.
      1. Increase the "Noise tolerance" value if observing an excess of annotated active zones, i.e. crosses that are not on top of active zones that are not in focus on the selected stack plane, or false active zones that are detected in the background.
        1. On the other hand, if observing incompletely annotated active zones, i.e. active zones in focus not being recognized, decrease the "Maxima noise tolerance" value. Keep trying different values following this procedure till the crosses are appropriately labeling active zones in focus. Fill the "Find maxima noise tolerance" with this value.
        2. See Figure 2C for an example. Too many active zones are detected. In Figure 2C' only the active zones in focus are detected when increasing the "Maxima noise tolerance" value.
    5. Run the sub-macro "Analyze" for the representative images selected in step 5.1, with the settings defined in the all the previous steps.
  7. Adjust Brp-puncta lower and upper threshold
    1. Notice that a new file will be appearing after running the macro according to step 6.6, called 2_active_zone_stack_image_name. In this image stack the active zones detected by the "Find maxima" function are indicated by white dots in each plane.
    2. Open this file by dragging and dropping it into the toolbar and select Image | Stack | Z-project | Projection type = Sum slices. A projection of the 2_active_zone_stack_image_name will be obtained.
    3. Select Image | Adjust | Threshold. A new window "Threshold" will open. Slide the upper bar to choose a threshold value where, all desired foci/Brp-positive spots are visualized in red.
      NOTE: If the threshold is set too low, an excess of active zones will be counted. If set too high, a fraction of the active zones will be missed.
      1. See Figure 2E for an example. When threshold is set to 400, most of the active zones (symbolized as a 1 pixel foci) are not included in the segmentation, since they are not highlighted in red (Figure 2E). When threshold is set to a value of 50 all the active zones are highlighted in red (Figure 2E').
    4. Define this value as minimum threshold. Leave "Upper puncta threshold" on the maximum value.
    5. Re-run the sub-macro "Analyze" for the representative images with the settings defined in all the previous steps of this section. Critically evaluate the resulting image files and make sure that the segmentation is done properly. If this is not the case readjust the settings according to the nature of the segmentation errors (Figure 1, Table 1).

Subscription Required. Please recommend JoVE to your librarian.

Representative Results

Figure 1
Figure 1: Examples of Inappropriate Macro Segmentation Results. Result images after running "Drosophila NMJ Morphometrics" or "Drosophila NMJ Bouton Morphometrics". Parts of the synaptic terminal are not included in the yellow outline (A). Parts of the background are included in the synaptic terminal by the yellow outline (B). Blue skeleton line extends beyond the synaptic terminal (C - D). Too many active zones are detected (E - E'). Some Active zones remain undetected by the analysis (G - G'). Active zones are detected outside the synapse (F). Incorrect bouton segmentation (Only applicable when running Drosophila NMJ Bouton Morphometrics), boutons are missed (H) or too many boutons are detected by the segmentation (I). Particles such a crystals or dust that are part of the background are included in the segmentation (J). Information how to change settings to avoid these errors are provided in Table 1. Please click here to view a larger version of this figure.

Figure 2
Figure 2: Examples of Macro-setting Adjustments and Their Consequences for Image Segmentation. (A) Subtract background preview of a Dlg-1 immunolabeled synapse, imaged on a fluorescence microscope with ApoTome, when "Rolling ball radius" is set to 20 (A) or 500 (A'). (B) Output images obtained after running Image | Adjust | Auto-Threshold | Try all the image illustrates image segmentations obtained by the 16 different auto-threshold algorithms. (C) "Find Maxima" preview when setting up "Noise tolerance" at 50 (C) and 500 (C'); Active zones that are detected by the segmentation are labeled by a small cross. (D) Measurement of the "small particles" appearing in the image background of a synapse immunolabeled with anti-Hrp, imaged on a confocal microscope. (E) "Sum slices" projection obtained from the 2_active_zone_stack_ima-ge_name. Threshold is set at 400 (E) and at 50 (E'). Please click here to view a larger version of this figure.

Segmentation Observed errors Example Required adjustments
NMJ Area and perimeter
(Represented by yellow outline in result image)
Parts of the synaptic terminal are either not included
in the yellow outline or parts of the background
are included in the synaptic terminal outlined in yellow.
Figure 2A-B Adjust 'Rolling Ball Radius' value.
See section 6.1.
Adjust 'NMJ outline threshold'.
See section 6.2.
NMJ length related parameters
(Represented by blue skeleton line in the results image)
Blue skeleton line either extends beyond or
is not present along the entire synaptic terminal.
Figure 2C-D Adjust 'Rolling Ball Radius' value.
See section 6.1.
Adjust 'NMJ outline threshold'.
See section 6.2.
Brp-positive puncta
(Represented by dots in results image)
Too many active zones are detected. Figure 2E-E' Decrease the 'Find maxima noise tolerance' value.
See section 6.5.
Brp-positive puncta
(Represented by dots in results image)
Active zones are missed by the analysis. Figure 2G-G' Increase the 'Find maxima noise tolerance' value.
See section 6.5.
Decrease 'Brp-puncta lower threshold'.
See section 6.6.
Brp-positive puncta
(Represented by dots in results image)
Active zone artifacts are detected
outside of the synaptic terminal.
Figure 2F Adjust 'Active Zone threshold' section 6.2. Increase 'Brp-puncta lower threshold'.
See section 6.6.
Small particles Particles such a crystals or dust that are part
of the background appear to be included in
the segmentation.
Figure 2J Select the box 'Remove small particles'.
See section 6.3.
Determine small particles maximum size.
See section 6.3.
Bouton segmentation Incorrect bouton segmentation
(Only applicable to Drosophila NMJ Bouton Morphometrics;
do not use Drosophila NMJ Morphometrics for bouton segmentation).
Figure 2H-I Adjust 'NMJ outline threshold'.
See section 6.1.
Determine 'minimum bouton size'.
See section 6.4.

Table 1: Troubleshooting Guide for the Different Kinds of Errors in Image Segmentation that can be Produced by the Macros. This table describes different kinds of image segmentation errors produced by the macros. These can easily be detected in the results images. Examples of each error type are shown in Figure 1. In the "adjustments section" of the table, the settings that need to be adjusted are highlighted, and the user is referred to the critical sub-step of section 6, which describe how to adjust these settings.

Subscription Required. Please recommend JoVE to your librarian.


Name Company Catalog Number Comments
Immunostaining Dilution
Mouse anti-discs large 1 Developmental Studies Hybridoma Bank AFFN-DLG1-4D6 1/25 (conjungated using the Zenon Alexa Fluor 528 Labeling Kit)
Rabbit anti-horseradish peroxidase Jackson IR 323-005-021 1/500
Rabbit anti-Synaptotagmin Gift from Hugo Bellen Jan-00
Mouse anti-Cysteine string protein Developmental Studies Hybridoma Bank DCSP-1(ab49) 1/10 (conjungated using the Zenon Alexa Fluor 528 Labeling Kit)
Mouse anti-Bruchpilot Developmental Studies Hybridoma Bank nc82 Jan-50
Goat anti-mouse Alexa Fluor 488 Life technologies A11029 1/200
Goat anti-rabbit Alexa Fluor 568 Life technologies A11011 1/500
Zenon Alexa Fluor 568 Mouse IgG1 Labeling Kit ThermoFisher Z25006
ProLong Gold Antifade Mountant ThermoFisher P36930
Confocal microscope or fluorescence microscope Leica SP5
Zeiss Axio imager
Computer Mac or Pc


View Video

Get cutting-edge science videos from JoVE sent straight to your inbox every month.

Waiting X
Simple Hit Counter