STEPS | SCRIPT |
---|---|
1. Separate the different channels (C1- for DAPI-nuclear staining and C2- for TRITC-channel associated to the PLA dots) | - imageName = getTitle(); |
- run (“Split Channels”); | |
- selectWindow (“C1-” + imageName); | |
- selectWindow (“C2-” + imageName); | |
- selectWindow (“C1-” + imageName); | |
- run (“Smooth”); | |
- run (“Median...”, “radius = 2”); | |
2. Apply threshold on C1 | - setAutoThreshold (“Default dark”); |
- //run (“Threshold...”); | |
- setOption (“BlackBackground”, false); | |
- run (“Convert to Mask”); | |
3. Apply morphological filters on C1 | - selectWindow (“C1-” + imageName); |
- run (“Close-”); | |
- run (“Open”); | |
4. Segment nuclei on C1 | - run (“Watershed”); |
- run (“Sharpen”); | |
- run (“Clear Results”); | |
5. Count individual nuclear staining on C1 | - run (“Analyze Particles...”, “size = 75–550 show = [Overlay Outlines] exclude clear add”); |
6. Count individual PLA dots on C2 | - selectWindow (“C2-” + imageName); |
- run (“Find Maxima...”, “noise = 60 output = [Single Points] exclude”); | |
- selectWindow (“C2-” + imageName + “Maxima”); | |
7. Divide by 255 on the “find maxima output” | - run (“Divide...”, “value = 255”); |
- run (“Set Measurements...”, “area integrated redirect = None decimal = 3”); | |
8. Measure the pixel values | - roiManager (“Measure”); |
9. Get the results of the number of PLA dots in each nucleus | - String.copyResults(); |
- selectWindow (“C2-” + imageName + “Maxima”); | |
- close(); |