28,688 total contributions since 2010

Senior Scientist 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. 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

Direction gradient value of edge pixel

As you know, the gradient is a vector. So you can get magnitude and direction from imgradient(), or get the direction as x and ...

Direction gradient value of edge pixel

As you know, the gradient is a vector. So you can get magnitude and direction from imgradient(), or get the direction as x and ...

6 hours ago | 1

Answered

How to save a plot as an image with titles and x y lables

Click on the toolbar save icon (if you have the toolbar showing) or use File/SaveAs (if youhave the pulldown menu showing). Or ...

How to save a plot as an image with titles and x y lables

Click on the toolbar save icon (if you have the toolbar showing) or use File/SaveAs (if youhave the pulldown menu showing). Or ...

6 hours ago | 0

Answered

Trace Image from Intensity

Try mask = grayImage > someThreshold boundaries = bwboundaries(mask)

Trace Image from Intensity

Try mask = grayImage > someThreshold boundaries = bwboundaries(mask)

21 hours ago | 0

Answered

Can you remove certain characters from first column and each row of a table?

In a loop, get the filename and extract the last character(s) that are the number or use fileparts. Untested code: for k = 1 :...

Can you remove certain characters from first column and each row of a table?

In a loop, get the filename and extract the last character(s) that are the number or use fileparts. Untested code: for k = 1 :...

22 hours ago | 1

| accepted

Answered

How to change the background colour of this image to 0 and foreground colour to 1 to make it binary.

You'd need mask = ~(redChannel ~= 0 & greenChannel == 0 & blueChannel == 255); % Mask the image using bsxfun() function to mul...

How to change the background colour of this image to 0 and foreground colour to 1 to make it binary.

You'd need mask = ~(redChannel ~= 0 & greenChannel == 0 & blueChannel == 255); % Mask the image using bsxfun() function to mul...

1 day ago | 0

Answered

Calculation of radial and tangential component of wind

Wouldn't it just be the usual trig formulas? Untested code: rComponent = sqrt(dU.^2+dV.^2); angularComponent = atand2d(dV, dU...

Calculation of radial and tangential component of wind

Wouldn't it just be the usual trig formulas? Untested code: rComponent = sqrt(dU.^2+dV.^2); angularComponent = atand2d(dV, dU...

2 days ago | 0

Answered

How can I find out Correlation between two image?

They're probably color. Do it on one color channel at a time, or use rgb2gray() to convert them to grayscale. Untested code: ...

How can I find out Correlation between two image?

They're probably color. Do it on one color channel at a time, or use rgb2gray() to convert them to grayscale. Untested code: ...

2 days ago | 1

| accepted

Answered

How to declare a cell array of a particular size n ?

Use cell(): ca = cell(1, n);

How to declare a cell array of a particular size n ?

Use cell(): ca = cell(1, n);

2 days ago | 1

Answered

Removing Noise From Image

pcolor() is not the problem. The problem is in your actual data, nitrogenCellAveraged. That's what needs to be cleaned up.

Removing Noise From Image

pcolor() is not the problem. The problem is in your actual data, nitrogenCellAveraged. That's what needs to be cleaned up.

2 days ago | 0

Answered

is it okay to delete it?

You can probably delete the installation of MATLAB under C:\Program Files\ACSYS2002\MATLAB and leave the one under C:\Program Fi...

is it okay to delete it?

You can probably delete the installation of MATLAB under C:\Program Files\ACSYS2002\MATLAB and leave the one under C:\Program Fi...

2 days ago | 0

Answered

after first imshow function, image is not shown

When you double click inside the polygon, it will show the other figures.

after first imshow function, image is not shown

When you double click inside the polygon, it will show the other figures.

2 days ago | 0

Answered

how to do this stat in matlab?

The homework problem does not state how many rats were in the test so it's unclear if there are a bunch of rats with zero or inf...

how to do this stat in matlab?

The homework problem does not state how many rats were in the test so it's unclear if there are a bunch of rats with zero or inf...

2 days ago | 0

Answered

Can someone please help me remove my account?

We cannot. But someone can, if you send an email to support@mathworks.com.

Can someone please help me remove my account?

We cannot. But someone can, if you send an email to support@mathworks.com.

3 days ago | 0

Answered

Calculate average of specific values in one table column

Try extracting the last column, then reshaping so that there are only 4 rows, then using mean(). % Extract last column of table...

Calculate average of specific values in one table column

Try extracting the last column, then reshaping so that there are only 4 rows, then using mean(). % Extract last column of table...

6 days ago | 0

| accepted

Answered

Create multiple ROI in same image in App Designer and store the data in a struct

Just append it to your structure: roiStruct(end+1).roi = yourROI; yourROI could be any form, for example an ROI object, or an ...

Create multiple ROI in same image in App Designer and store the data in a struct

Just append it to your structure: roiStruct(end+1).roi = yourROI; yourROI could be any form, for example an ROI object, or an ...

6 days ago | 0

| accepted

Answered

How to know maximal x and y cordinate in image

To get the maximum pixel coordinate for an image, that's simply the number of rows and columns. [rows, columns, numberOfColor...

How to know maximal x and y cordinate in image

To get the maximum pixel coordinate for an image, that's simply the number of rows and columns. [rows, columns, numberOfColor...

6 days ago | 0

Answered

How to retrieve intensities of a ROI in App Designer

See attached demos for masking.

How to retrieve intensities of a ROI in App Designer

See attached demos for masking.

7 days ago | 0

| accepted

Answered

How do I save multiple vectors and use them to display multiple plots at once

After you call plot() the first time, call "hold on" plot(................ hold on; % more calls to plot......

How do I save multiple vectors and use them to display multiple plots at once

After you call plot() the first time, call "hold on" plot(................ hold on; % more calls to plot......

7 days ago | 0

Answered

Histogram from masked area of grayscale picture

Attach a .mat file containing your grayImage and mask. Alternatively, just do histogram(grayImage(mask), 256, 'EdgeColor', 'no...

Histogram from masked area of grayscale picture

Attach a .mat file containing your grayImage and mask. Alternatively, just do histogram(grayImage(mask), 256, 'EdgeColor', 'no...

8 days ago | 0

Answered

how to combine a GUI timer with battleship game

FYI, the MATLAB Facebook page has an item on Battleship: Battleship

how to combine a GUI timer with battleship game

FYI, the MATLAB Facebook page has an item on Battleship: Battleship

8 days ago | 0

Answered

Corner detection in freehand drawings

Count the vertices. See my attached demo.

Corner detection in freehand drawings

Count the vertices. See my attached demo.

9 days ago | 0

Answered

Unable to perform assignment because the size of the left side is 1-by-1 and the size of the right side is 2-by-1.

cfs and fifs are both 2 values, so you're trying to stick two values into one index. Change the fs line to this and see what yo...

Unable to perform assignment because the size of the left side is 1-by-1 and the size of the right side is 2-by-1.

cfs and fifs are both 2 values, so you're trying to stick two values into one index. Change the fs line to this and see what yo...

9 days ago | 1

Answered

the equivalent matlab code for areg ,absorb in stata

I don't understand your code at all. If you want to fit a polynomial, use polyfit(). For something more complicated, try fitnl...

the equivalent matlab code for areg ,absorb in stata

I don't understand your code at all. If you want to fit a polynomial, use polyfit(). For something more complicated, try fitnl...

9 days ago | 0

Answered

Error in matlab codes

Try getting rid of the brackets, which concatenate all the values from all the structures into a single array of 20 values, whic...

Error in matlab codes

Try getting rid of the brackets, which concatenate all the values from all the structures into a single array of 20 values, whic...

9 days ago | 0

Answered

My code keeps breaking for a few data input, Please help! The Question is: Write a function called valid_date that takes three positive integer scalar inputs year, month, day. If these three represent a valid date, return a logical true, otherwise fa

Step through it with the debugger, like we all do. If you don't know how, see this link So when month is 8, and day is 31, wha...

My code keeps breaking for a few data input, Please help! The Question is: Write a function called valid_date that takes three positive integer scalar inputs year, month, day. If these three represent a valid date, return a logical true, otherwise fa

Step through it with the debugger, like we all do. If you don't know how, see this link So when month is 8, and day is 31, wha...

9 days ago | 0

Answered

How to evaluate a math function?

Try this: % Specify the start of the interval. x1 = 1; % The end of the interval is 0.01 after the start of the interval. x2...

How to evaluate a math function?

Try this: % Specify the start of the interval. x1 = 1; % The end of the interval is 0.01 after the start of the interval. x2...

9 days ago | 0

| accepted

Answered

How to convert RGB to hsv?

Why not simply use the built-in rgb2hsv() function: % load R and G and B data clear close all clc load('RGB.mat') subplo...

How to convert RGB to hsv?

Why not simply use the built-in rgb2hsv() function: % load R and G and B data clear close all clc load('RGB.mat') subplo...

9 days ago | 0

Answered

How to use blockproc by location?

Yes, you can even do that without blockproc(). Here's how yourImage = uint8(255 * ones(yourImage)); that will turn every pixe...

How to use blockproc by location?

Yes, you can even do that without blockproc(). Here's how yourImage = uint8(255 * ones(yourImage)); that will turn every pixe...

9 days ago | 0

| accepted

Answered

Divide a data set into 4 parts so that the sum of each part 1/4th of the total

I'd just sort them and then take the CDF and look for percentages: c = cumsum(sort(data, 'ascend')); c = c / c(end); % Normali...

Divide a data set into 4 parts so that the sum of each part 1/4th of the total

I'd just sort them and then take the CDF and look for percentages: c = cumsum(sort(data, 'ascend')); c = c / c(end); % Normali...

9 days ago | 1

| accepted