Daily Archives: December 14, 2021

Comparison of plots after both image and signal processing: A single trimer of a SP-D dodecamer

Comparison of plots from image and signal processing SP-D trimers has taken some effort. After comparing many types of image processing and wanting some comparison with signal process, I found a great site for the latter in the website of Thomas O’Haver.  His resources have been a great help in looking into the less obvious, but quite predictable, peaks along the collagen like domain of SP-D, and in gathering data on variations in the height of peaks at the glycosylation site (near the N term junction peak of dodecamers) and also of the N terminus junction peak itself.

The initial purpose was to find out whether morphometry of AFM images (specifically  dodecamers and other multimers of SP-D (images of Arroyo et al)) were equal (or at least similar) when processed with image processing algorithms and signal processing algorithms. This is an effort to identify the most efficient and best estimate of the total number of peaks along each trimeric arm of SP-D to substantiate the idea that there are 3 or more peaks, predictable, regular in size and shape, exclusive to the collagen-like domain, and an additional tiny peak on the upslope of the N terminus peak of each trimer. And, as well, find and compare values for peak position, height, width and area for each.

My plotting the arms (hexamers) of SP-D began early on using corelDRAW to count, straighten and establish sq nm for peak width, height, area,  but this method morphed into a using plots made from segmented 1 px lines using ImageJ. Output from ImageJ for plot and hexamer arm length went to excel spreadsheets. Those plots were normalized for X and Y in a “batch processing” program written by Aaron Miller. Normalized plots were then subjected to as many signal processing scripts and/or functions… i as I could get to work in BatchProcess, Octave, ImageJ, and Excel.

It became clear that plotting just the CRD to the center N termini peak as a trimer (part of the hexamer) ended up undercounting the number of peaks, 1) because the segmented line was drawn from the CRD to the center of the N termini, and thus a “down” slope was not plotted at the N termini spot….  and I added that last peak to the total count manually.

A solution to that problem was tried, that is making the last row of the Y data the same grayscale value as the first row, and plots did get counted, but areas were halved (more or less depending upon where I terminated my line). A better approach to plotting a single trimer now traverses the entire N termini junction, which enables signal processing programs to do what the “eye” did automatically, and the peaks get counted in signal processing programs. By the time all four trimers are plotted individually, there will be four values (very likely NOT identical) for the width, height and area of the N termini peak for any dodecamer.  It puts to rest the dilemma of where to end the plot line, at the center of the brightest part of the N termini junction is, so while it means replotting… It is probably more accurate in the long run. A distinct benefit of this new approach is that it also will provide data on whether the N termini junction has the N termini of the four trimers attached side by side, or end to end, or maybe a combination of both.  This latter information can be matched with the bright center N termini junction of multimers of greater number than the dodecamer, and provide more evidence as to how N termini are joined.

Just for now and marking the end of the mid-N-termini junction plots in the center (not with the downslope) are four figures below.

Top figure is an unprocessed image of an SP-D dodecamer that was plotted in ImageJ. Plot overlaid is what resulted from ImageJ plot (screen print).  Then plots of figure 1 and the number of peaks found in the plots using signal processing programs (data shown as a list) to which many signal processing algorithms were applied and shown in Figure 3 (list and results are given in text).

The second figure is the same initial unprocessed image but opened in Gwyddion, processed with a 5 pixel gaussian blur, and a limit range 130-255 filters. This image-processed image was also subjected to the same signal processing algorithms as the image in the first figure.

Plots for comparison of the effect of signal processing on top of an unprocessed image (orange and brown) and  that image processed (black and red) are given in the 3rd and 4th figures. I think, humbly, that the mind’s eye is a powerful tool.

I see little difference in my visual input and the results of much labor (LOL). But verification is important. I do think that image processing can achieve nice plots without subsequent signal processing, and even better plots are achieved when used in conjunction with some minimal signal processing.

Plots in the series below are outputs from an excel file called PeakAndValleyDetection.xlsx by Thomas O’haver, and the last plot in each series below is from a function writen by him for Octave/Matlab.
Peaks along the arms of SP-D dodecamers image and signal processing

Unprocessed image (counts by eye-row 1, and counts by eye of ImageJ plots row 2, counts as processed with signal processing, 3-12)

peaks from image (figure 1): 9
peaks from ImageJ plot:9
LagThresholdInfluence 1, 0.5 0.025: 6
LTI 1, 0.7 0.05: 10
LTI 1, 0.1 0.01: 6
ImageJ find maxima 0.05: 8
IJ find maxima 1: 8
IJ find maxima 2: 6
PeakandVvalleyDdetection.xlsx smooth width 1: 13
PVDxlsx sw 5: 19
PVDxlsx sw 9: 13
Findpeaksplot.m (x,y,0.0001,80,9,16,3)(Octave): 10

Image processed in Gwyddion, 5px gaussian blur, limit range 130-2
(counts by eye-row 1, and counts by eye of ImageJ plots row 2, counts as processed with signal processing, 3-12)

peaks from image (figure 2): 10
peaks from ImageJ plot: 10
LagThresholdInfluence 1, 0.5 0.025: 6
LTI 1, 0.7 0.05: 8
LTI 1, 0.1 0.01: 4
ImageJ find maxima 0.05: 10
IJ find maxima 1: 9
IJ find maxima 2: 5
PeakandVvalleyDdetection.xlsx smooth width 3: 15
PVDxlsx sw 5: 15
PVDxlsx sw 9: 9
PVDxlsx sw11: 9
Findpeaksplot.m (x,y,0.0003,0,11,21,4)(Octave): 9