Senior Scientist (male/man) and Inventor in one of the world's 10 largest industrial corporations doing image analysis full time. Ph.D. in Optical Sciences specializing in imaging, image processing, and image analysis. 40+ years of military, academic, and (mostly) industrial experience with image analysis programming and algorithm development. Experience designing custom light booths and other imaging systems. Experience with color and monochrome imaging, video analysis, thermal, ultraviolet, hyperspectral, CT, MRI, radiography, profilometry, microscopy, NIR and Raman spectroscopy, etc. on a huge variety of subjects. Member of the Mathworks Community Advisory Board. Be sure to click "View All" in my File Exchange to see ALL of my demos and tutorials: http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862

Professional Interests: Image analysis and processing

Answered

Is there a method to use ‘findpeaks’ to detect bright spots in an otherwise darkimage?

Show/attach/post your original gray scale image. My guess is that you can threshold to find the bright blobs, then find the cen...

Is there a method to use ‘findpeaks’ to detect bright spots in an otherwise darkimage?

Show/attach/post your original gray scale image. My guess is that you can threshold to find the bright blobs, then find the cen...

3 hours ago | 0

Answered

How to split into small pieces of ranges of this graph?

If you simply want to zoom in and look at a narrower viewport window, you can set the left and right ends of the x axis with the...

How to split into small pieces of ranges of this graph?

If you simply want to zoom in and look at a narrower viewport window, you can set the left and right ends of the x axis with the...

1 day ago | 0

Answered

How to plot 3D heat map in Matlab

There is not much heat to plot in that small data set. You might just visualize it with plot3() and make the markers somewhat l...

How to plot 3D heat map in Matlab

There is not much heat to plot in that small data set. You might just visualize it with plot3() and make the markers somewhat l...

1 day ago | 0

| accepted

Answered

Extract email information from webpages/URLs using Matlab

Looks like L is a cell array of web sites, none of which is an email address with @ in it. So why do you think it should find a...

Extract email information from webpages/URLs using Matlab

Looks like L is a cell array of web sites, none of which is an email address with @ in it. So why do you think it should find a...

1 day ago | 0

| accepted

Answered

How to find an unclear edge?

Try to denoise your image first. You might try imnlmfit() or a mean shift filter or something like that.

How to find an unclear edge?

Try to denoise your image first. You might try imnlmfit() or a mean shift filter or something like that.

1 day ago | 0

Answered

I need help with pixel neighborhood operations

Looks like you've accepted an answer that works (via intensity thresholding) for the image you uploaded. If you want a more rob...

I need help with pixel neighborhood operations

Looks like you've accepted an answer that works (via intensity thresholding) for the image you uploaded. If you want a more rob...

1 day ago | 1

Answered

Subroutine using if statement

Lots of stuff wrong with this. For starters, you're passing in the whole x vector into the (poorly-named) X function yet your f...

Subroutine using if statement

Lots of stuff wrong with this. For starters, you're passing in the whole x vector into the (poorly-named) X function yet your f...

1 day ago | 0

Answered

want to display the x value of the maximum in my graph?

Try this: x=[1 2 3 4 5 6]; y=[5 6 7 6 5 4]; [highest,index] = max(y) plot(x,y); text(x(index), y(index), '\leftarrow') ylim...

want to display the x value of the maximum in my graph?

Try this: x=[1 2 3 4 5 6]; y=[5 6 7 6 5 4]; [highest,index] = max(y) plot(x,y); text(x(index), y(index), '\leftarrow') ylim...

1 day ago | 1

| accepted

Answered

color space plot of image

I believe you're wanting the colorcloud() function. It plots the gamut in 3-D. Not sure what a 2-D plot would be. What do the...

color space plot of image

I believe you're wanting the colorcloud() function. It plots the gamut in 3-D. Not sure what a 2-D plot would be. What do the...

1 day ago | 1

Answered

What this error 'Dimensions of arrays being concatenated are not consistent' means?

It's thoroughly discussed in the FAQ: https://matlab.fandom.com/wiki/FAQ#.E2.80.9CDimensions_of_arrays_being_concatenated_are_n...

What this error 'Dimensions of arrays being concatenated are not consistent' means?

It's thoroughly discussed in the FAQ: https://matlab.fandom.com/wiki/FAQ#.E2.80.9CDimensions_of_arrays_being_concatenated_are_n...

1 day ago | 0

Answered

How to read pixel labels in pixellabel datastore.

Duplicate of question already asked and answered: https://www.mathworks.com/matlabcentral/answers/850850-the-assigned-pixel-nam...

How to read pixel labels in pixellabel datastore.

Duplicate of question already asked and answered: https://www.mathworks.com/matlabcentral/answers/850850-the-assigned-pixel-nam...

2 days ago | 0

Answered

How can i plot three periods of a signal

Try it this way: % t=[0:0.0002:20]; % xc1=cos(2*pi*493.88*t); % argument in cos = 2*pi*t/period. So period = 1/493.88 thre...

How can i plot three periods of a signal

Try it this way: % t=[0:0.0002:20]; % xc1=cos(2*pi*493.88*t); % argument in cos = 2*pi*t/period. So period = 1/493.88 thre...

2 days ago | 0

| accepted

Answered

Unable to do subtraction of images in GUI

What is this???? InputImage2 = imresize(InputImage2(value1), [rowsInputImage1 colsInputImage1]); You're saying the image is In...

Unable to do subtraction of images in GUI

What is this???? InputImage2 = imresize(InputImage2(value1), [rowsInputImage1 colsInputImage1]); You're saying the image is In...

2 days ago | 0

| accepted

Answered

Does anyone know how to improve this code?

Lots of ways. For starters: Use descriptive variable names. Like not sz but [rows, columns, numberOfColorChannels] = size(rgb...

Does anyone know how to improve this code?

Lots of ways. For starters: Use descriptive variable names. Like not sz but [rows, columns, numberOfColorChannels] = size(rgb...

2 days ago | 0

| accepted

Answered

How do i get the sound of a cosine signal

Scott is right on. For what it's worth, I'm attaching my demo for making a warbling, decaying chirp sound:

How do i get the sound of a cosine signal

Scott is right on. For what it's worth, I'm attaching my demo for making a warbling, decaying chirp sound:

2 days ago | 0

Answered

Eliminate rows from an array

To eliminate the "second half of rows" (like you asked) from your column vector, do this: midRow = ceil(length(data3) / 2); da...

Eliminate rows from an array

To eliminate the "second half of rows" (like you asked) from your column vector, do this: midRow = ceil(length(data3) / 2); da...

2 days ago | 1

| accepted

Answered

What changes should I make to get binary images correctly in order for BoundingBox to grab the ROI correctly?

This seems to work for all the images you attached. % Demo by Image Analyst clc; % Clear the command window. close all; %...

What changes should I make to get binary images correctly in order for BoundingBox to grab the ROI correctly?

This seems to work for all the images you attached. % Demo by Image Analyst clc; % Clear the command window. close all; %...

2 days ago | 1

| accepted

Answered

Why is my workspace empty after running a script?

Something is not right with what you've shown. You have a semicolon after the "a=1" so that means when you type Untitled into t...

Why is my workspace empty after running a script?

Something is not right with what you've shown. You have a semicolon after the "a=1" so that means when you type Untitled into t...

3 days ago | 1

Answered

How to eliminate unwanted objects from droplet image to ease droplet identification/sizing and strange imcrop behaviour

First you need to flatten the background. One of the best ways is to take a blank shot with no sample in there to get an image ...

How to eliminate unwanted objects from droplet image to ease droplet identification/sizing and strange imcrop behaviour

First you need to flatten the background. One of the best ways is to take a blank shot with no sample in there to get an image ...

3 days ago | 0

Answered

How to retrieve data points from a grayscale histogram?

Try this: grayImage = imread('cameraman.tif'); % Read in image. counts = imhist(grayImage) % Take histogram grayLevels = 0 : ...

How to retrieve data points from a grayscale histogram?

Try this: grayImage = imread('cameraman.tif'); % Read in image. counts = imhist(grayImage) % Take histogram grayLevels = 0 : ...

3 days ago | 0

| accepted

Answered

intensity of dought events

You need to use regionprops(), which will get you both the length of each drought, as well as it's mean value. You can also get...

intensity of dought events

You need to use regionprops(), which will get you both the length of each drought, as well as it's mean value. You can also get...

3 days ago | 0

Answered

How to set which part of the code to comment using a variable?

Once you've got that figured out then, to COMPARE the algorithms, you might want to look into an ROC analysis using the MATLAB f...

How to set which part of the code to comment using a variable?

Once you've got that figured out then, to COMPARE the algorithms, you might want to look into an ROC analysis using the MATLAB f...

3 days ago | 0

Answered

How to make segmented regression line and determine the breakpoints?

The way I do it is to pick a dividing point and then slide that along fitting a line to each side. The dividing point that has ...

How to make segmented regression line and determine the breakpoints?

The way I do it is to pick a dividing point and then slide that along fitting a line to each side. The dividing point that has ...

3 days ago | 0

Answered

My pictures have a format of [227 227 1] so I had the idea to triplicate my processed pictures and put them back into one to get a format of [227 227 3], how can I do this?

Here is the way I usually use rgbImage = cat(3, grayImage, grayImage, grayImage);

My pictures have a format of [227 227 1] so I had the idea to triplicate my processed pictures and put them back into one to get a format of [227 227 3], how can I do this?

Here is the way I usually use rgbImage = cat(3, grayImage, grayImage, grayImage);

3 days ago | 1

Answered

How to do OR operation of two images (DFT and Binary)?

To me this looks like a series of 3 tiles butted together. And you want to find the thin crack that's vertical in the middle ti...

How to do OR operation of two images (DFT and Binary)?

To me this looks like a series of 3 tiles butted together. And you want to find the thin crack that's vertical in the middle ti...

3 days ago | 1

Answered

"Array indices must be positive integers or logical values" for i=2 in loop

The error is thoroughly explained in the FAQ: https://matlab.fandom.com/wiki/FAQ#.22Subscript_indices_must_either_be_real_posit...

"Array indices must be positive integers or logical values" for i=2 in loop

The error is thoroughly explained in the FAQ: https://matlab.fandom.com/wiki/FAQ#.22Subscript_indices_must_either_be_real_posit...

3 days ago | 0

Answered

How to check the existence of a variable inside handles?

Instead of delete(handles.obj.pc(index)); try handles.obj.pc(index) = [];

How to check the existence of a variable inside handles?

Instead of delete(handles.obj.pc(index)); try handles.obj.pc(index) = [];

3 days ago | 0

Answered

How can i save images at the end of every iteration?

Try it this way: % By Image Analyst clc; % Clear the command window. clearvars; close all; % Close all figures (except t...

How can i save images at the end of every iteration?

Try it this way: % By Image Analyst clc; % Clear the command window. clearvars; close all; % Close all figures (except t...

3 days ago | 0

| accepted