Skip to content

Commit 073f3f9

Browse files
Finalised
Changed some figures from html to tables; and general formating @ctrueden NOTE: Tables need to be updated to figure include once it is live.
1 parent 61e5f1a commit 073f3f9

File tree

1 file changed

+18
-82
lines changed

1 file changed

+18
-82
lines changed

_pages/imaging/image-intensity-processing.md

Lines changed: 18 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
---
2-
mediawiki: Image_Intensity_Processing
32
title: Image Intensity Processing
43
section: Learn:Scientific Imaging
54
nav-links: true
@@ -36,11 +35,11 @@ The results are displayed in a plot-window with the ROI details in the plot wind
3635

3736
## Dynamic intensity vs Time analysis
3837

39-
The plugin *Plot Z Axis Profile* (this is the *Z Profiler* from Kevin (Gali) Baler (gliblr at yahoo.com) and {% include person id='rasband' %} simply renamed) will monitor the intensity of a moving ROI using a particle tracking tool. This tool can be either manual or automatic. Use the {% include bc path='Image | Stacks | Plot Z Axis Profile'%} command.
38+
The plugin *Plot Z Axis Profile* (this is the *[Z Profiler](/ij/plugins/z-profiler.html)* from Kevin (Gali) Baler (gliblr at yahoo.com) and {% include person id='rasband' %} simply renamed) will monitor the intensity of a moving ROI using a particle tracking tool. This tool can be either manual or automatic. Use the {% include bc path='Image | Stacks | Plot Z Axis Profile'%} command.
4039

4140
## Getting intensity values from multiple ROIs
4241

43-
You can analyze multiple ROIs at once with Bob Dougherty's *Multi Measure* plugin. The native "ROI manager" function does a similar job except doesn't generate the results in sorted columns. Check [Bob's website](http://www.optinav.com/imagej.html) for updates.
42+
You can analyze multiple ROIs at once with Bob Dougherty's *Multi Measure* plugin. The native "ROI manager" function does a similar job except doesn't generate the results in sorted columns. Check [Bob's website](https://www.optinav.info/) for updates.
4443

4544
The Multi Measure plugin that comes with the installation is v3.2.
4645

@@ -64,7 +63,9 @@ Oval and rectangular ROIs can be restored individually from x, y, l, h values wi
6463

6564
## Ratio Analysis
6665

67-
![](/media/imaging/intensity-ratio-analysis.jpg) Ratiometric imaging compares the recordings of two different signals to see if there are any similarities between them. It is done by dividing one channel by another channel to produce a third ratiometric channel. This technique is useful because it corrects for dye leakage, unequal dye loading, and photo-bleaching. An example application would be measuring intracellular ion, pH, and voltage dynamics in real time.
66+
![](/media/imaging/intensity-ratio-analysis.jpg)
67+
68+
Ratiometric imaging compares the recordings of two different signals to see if there are any similarities between them. It is done by dividing one channel by another channel to produce a third ratiometric channel. This technique is useful because it corrects for dye leakage, unequal dye loading, and photo-bleaching. An example application would be measuring intracellular ion, pH, and voltage dynamics in real time.
6869

6970
Background subtraction is needed before analysis of dual-channel ratio images. See also the [background correction](#background-correction) section. The *Ratio\_Profiler* plugin will perform ratiometric analysis of a single ROI on a dual-channel interleaved stack. The odd-slices are channel 1 images and the even slices are channel 2 images. If your two channels are opened as separate stacks, such as Zeiss, the two channels can be interleaved (mixed together by alternating between them) with the menu command {% include bc path='Plugins | Stacks - Shuffling | Stack Interleaver'%}.
7071

@@ -132,18 +133,9 @@ To use:
132133

133134
### Equalization
134135

135-
{::nomarkdown}
136-
<table>
137-
<tbody>
138-
<tr>
139-
<td style="border:none;padding:0in;">
140-
<p>You can have more control over brightness and contrast adjustments with the {% include bc path='Process | Enhance contrast'%} menu command. With a stack, it analyzes the each slice's histogram to make the adjustment.</p>
141-
<p>The <em>Equalize contrast</em> command applies a non-linear stretch of the histogram based on the square root of its intensity.</p>
142-
</td>
143-
</tr>
144-
</tbody>
145-
</table>
146-
{:/}
136+
You can have more control over brightness and contrast adjustments with the {% include bc path='Process | Enhance'%} contrast menu command. With a stack, it analyzes the each slice's histogram to make the adjustment.
137+
138+
The *Equalize contrast* command applies a non-linear stretch of the histogram based on the square root of its intensity.
147139

148140
![](/media/imaging/equalize-histrogram.jpg)
149141

@@ -169,11 +161,11 @@ Filters can be found using the menu command {% include bc path='Process | Filter
169161

170162
*Median filter*: The pixel value is replaced with the median of itself and its adjacent neighbors. This removes noise and *preserves boundaries* better than simple average filtering. The menu item {% include bc path='Process | Noise | Despeckle'%} is a 3×3 median filter.
171163

172-
"Convolve filter": This allows two arrays of numbers to be multiplied together. The arrays can be different sizes but must be of the same dimension. In image analysis this process is generally used to produce an output image where the pixel values are linear combinations of certain input values.
164+
*Convolve filter*: This allows two arrays of numbers to be multiplied together. The arrays can be different sizes but must be of the same dimension. In image analysis this process is generally used to produce an output image where the pixel values are linear combinations of certain input values.
173165

174-
"Minimum": This filter, also known as an erosion filter, is a morphological filter that considers the neighborhood around each pixel and, from this list of neighbors, determines the minimum value. Each pixel in the image is then replaced with the resulting value generated by each neighborhood.
166+
*Minimum*: This filter, also known as an erosion filter, is a morphological filter that considers the neighborhood around each pixel and, from this list of neighbors, determines the minimum value. Each pixel in the image is then replaced with the resulting value generated by each neighborhood.
175167

176-
"Maximum": This filter, also known as a dilation filter, is a morphological filter that considers the neighborhood around each pixel and, from this list of neighbors, determines the maximum value. Each pixel in the image is then replaced with the resulting value generated by each neighborhood.
168+
*Maximum*: This filter, also known as a dilation filter, is a morphological filter that considers the neighborhood around each pixel and, from this list of neighbors, determines the maximum value. Each pixel in the image is then replaced with the resulting value generated by each neighborhood.
177169

178170
*Kalman filter*: This filter, also known as the Linear Quadratic Estimation, recursively operates on noisy inputs to compute a statistically optimal estimate of the underlying system state.
179171

@@ -187,37 +179,12 @@ With a background that is relatively even across the image, remove it with the *
187179

188180
To fix an uneven background use the menu command {% include bc path='Process | Subtract background'%}. This will use a *rolling ball* algorithm on the uneven background. The radius should be set to at least the size of the largest object that is *not* part of the background. It can also be used to remove background from gels where the background is white. Running the command several times may produce better results. The user can choose whether or not to have a light background, create a background with no subtraction, have a sliding paraboloid, disable smoothing, or preview the results. The default value for the rolling ball radius is 50 pixels.
189181

190-
{::nomarkdown}
191-
<table>
192-
<tbody>
193-
<tr>
194-
<td style="border:none;padding:0.0194in;">
195-
<p><em>RAW</em></p>
196-
</td>
197-
<td style="border:none;padding:0.0194in;"></td>
198-
<td style="border:none;padding:0.0194in;">
199-
<p>{% include bc path='Process | Subtract Background...'%}</p>
200-
</td>
201-
</tr>
202-
<tr>
203-
<td style="border:none;padding:0.0194in;">
204-
<p><img src="/media/imaging/raw-rolling-ball-back-corr.jpg" title="fig:raw_rolling_ball_back_corr.jpg" alt="raw_rolling_ball_back_corr.jpg"></p>
205-
</td>
206-
<td style="border:none;padding:0.0194in;">
207-
<p><img src="/media/imaging/rolling-ball-back-corr.jpg" title="fig:rolling_ball_back_corr.jpg" alt="rolling_ball_back_corr.jpg"></p>
208-
</td>
209-
<td style="border:none;padding:0.0194in;">
210-
<p><img src="/media/imaging/processed-rolling-ball-back-corr.jpg" title="fig:processed_rolling_ball_back_corr.jpg" alt="processed_rolling_ball_back_corr.jpg"></p>
211-
</td>
212-
</tr>
213-
</tbody>
214-
</table>
215-
{:/}
182+
| RAW | | {% include bc path='Process | Subtract Background...'%} |
183+
| :----: | :----: | :----: |
184+
| ![](/media/imaging/raw-rolling-ball-back-corr.jpg) | ![](/media/imaging/rolling-ball-back-corr.jpg) | ![](/media/imaging/processed-rolling-ball-back-corr.jpg) |
216185

217186
Once the background has been evened, final adjustments can be made with the *Brightness/Contrast* control.
218187

219-
| | | |
220-
|--------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------|
221188
| ![](/media/imaging/bright-contr-roll-ball.jpg) | ![](/media/imaging/histogram-roll-ball.jpg) | ![](/media/imaging/bright-contr-control-roll-ball.jpg) |
222189

223190
### ROI background correction
@@ -226,40 +193,9 @@ The rolling-ball algorithm takes a lot of time. To speed up the process with an
226193

227194
This macro, because it also works with stacks, can be used on time-courses with varying backgrounds.
228195

229-
{::nomarkdown}
230-
<table>
231-
<tbody>
232-
<tr>
233-
<td style="border:none;padding:0in;">
234-
<center>
235-
<p>Before correction</p>
236-
</center>
237-
</td>
238-
<td style="border:none;padding:0in;">
239-
<center>
240-
<p>Background intensity over time</p>
241-
</center>
242-
</td>
243-
<td style="border:none;padding:0in;">
244-
<center>
245-
<p>After <em>ROI_BG_Correction</em></p>
246-
</center>
247-
</td>
248-
</tr>
249-
<tr>
250-
<td style="border:none;padding:0in;">
251-
<p><img src="/media/imaging/roi-back-corr-before.gif" title="fig:roi_back_corr_before.gif" alt="roi_back_corr_before.gif"></p>
252-
</td>
253-
<td style="border:none;padding:0in;">
254-
<p><img src="/media/imaging/roi-back-corr-during.gif" title="fig:roi_back_corr_during.gif" alt="roi_back_corr_during.gif"></p>
255-
</td>
256-
<td style="border:none;padding:0in;">
257-
<p><img src="/media/imaging/roi-back-corr-after.gif" title="fig:roi_back_corr_after.gif" alt="roi_back_corr_after.gif"></p>
258-
</td>
259-
</tr>
260-
</tbody>
261-
</table>
262-
{:/}
196+
| Before correction | Background intensity over time | After *ROI_BG_Correction* |
197+
| :----: | :----: | :----: |
198+
| ![](/media/imaging/roi-back-corr-before.gif) | ![](/media/imaging/roi-back-corr-during.gif) | ![](/media/imaging/roi-back-corr-after.gif) |
263199

264200
## Flat-field correction
265201

@@ -314,7 +250,7 @@ More sophisticated masking can be done by *thresholding* the image and subtracti
314250
1. Duplicate the image, or, if it's a stack, generate an *average projection* of a few frames.
315251
2. Threshold this image with the menu command {% include bc path='Image | Adjust | Threshold'%}.
316252
3. Hit the Auto button and adjust the sliders until all the cells are highlighted red.
317-
4. Click *Apply*. Check the following box: *black foreground, white background*. You should now have a white and black image with your cells black and background white. If you have white cells and black background, invert the image with {% include bc path='Edit | Invert'%}.
253+
4. Click *Apply* Check the following box: *black foreground, white background*. You should now have a white and black image with your cells black and background white. If you have white cells and black background, invert the image with {% include bc path='Edit | Invert'%}.
318254
5. This can be smoothed with the command {% include bc path='Process | Smooth'%} and the black area enlarged slightly with {% include bc path='Process | Binary | Dilate'%} to give a better mask.
319255
6. Using the regular Image calculator {% include bc path='Process | Image calculator'%} subtract this black and white "mask" image from your original image or stack.
320256

0 commit comments

Comments
 (0)