COMPGROUPS.NET | Search | Post Question | Groups | Stream | About | Register

### Image/RF signal Analysis

• Email
• Follow

```Hey there MATLAB image processing and signal analysis community.  This is my first post on the message board looking for suggestions, ideas and or help.  Let me fill those of you who decide to read this in on some of my backround and that of my problem.  I am an electrical engineering student and I am doing some research on a medical imaging technique similar to strain imaging using ultrasound.  The basic idea is that if you have some substance (it doesnt really matter what, it could be tissue, it could be tofu, or anyting like that, just some type of soft yet solid material), and you image it using ultrasound over some time interval, say we take an image every 15 seconds, and while we are taking this series of images, we introduce some energy or force that causes actual or apparent movement within the substance we should be able to detect the movement by comparing succsessive signals or
images.  To break it down further, the signals rescieved by the ultrasound transducer are RF signals, and we recieve back a 128 (it could be 256 depending on the focal depth and size of the sample tissue) signals which represent the width of the tansducer (and therefore the width of area of interest of our substance).  When imported into MATLAB these will be my colums, so I will have 128 colums of data.  Each colum of data will hold approximately 2000 samples (of course giving me a 2000 row by 128 colum matrix of data at each time interval an image ultrasound image is taken) and these samples (rows) will redpresent the axial depth into the substance.  I am currently only working in 2D so I will not consider elevation at this time.  The sampling freuqncy of my transducer is 24MHz.

What I want to do is to detect any shifts in the RF signals from one time to the next.  Currently I am doing this by means of a windowed cross-correlation algorithm, and while it does work in the sense it detects the shifts, it is painfully slow.  I am most concerned with movment along each column (axial) but I cannot ignore movement along each row (lateral) so going to a 1D anaysis is not an option.   To give an example of the basic approach I am currently using:

For this example I will assume no resampling of the input (but i do in my normal approach), but I am resampling the correlation outputs in an attempt to gain sub-sample accuracy in the shift detection, however this is also my greatest enemy in terms of time efficiency

%normally g1 = data_at time_t;
%normally g2 = data_at_time_t_plus_1;

for this example I will create a random set and shift it using circshift, so if you try this and run the code it should detect some varrying integer shifts throughout, the actual shifts are recorded for checking perpouses.  You will see that the code works reasonably well, not perfect but good enough to get the point across.  My actual algorithm im using is more complex, and resamples a bit more and yields more accurate sub-sample results but again its awefully slow.
g1 = rand(400,40);
g2 = zeros(size(g1));
counter = 1;
for i = 1:50:400
shifts = -10:1:0;
g2(i:i+49,:) = circshift(g1(i:i+49,:),shifts(mod(i,7)+1));
record_of_shifts(counter) = shifts(mod(i,7)+1);
counter = counter+1;
end

predicted_shift_max = 5; %this is in samples without resmapling
% the sizes of the two arrays are always equal
[rows cols] = size(g1);
compare_window = [50 15];
cc_resample_rate =0;
%my basic cross correlation
frame = 1;
for col = 1:cols-compare_window(2)
counter = 1;
for row = 1:rows-compare_window(1)
g1in = zeros(compare_window);
g2in = g2( counter: counter+compare_window(1)-1,col:col+compare_window(2)-1);
g1in(6:compare_window(1)-5,3:compare_window(2)-2)= g1(counter+5:counter+compare_window(1)-6,col+2:col+compare_window(2)-3);
axial_lags = -compare_window(1)+1:compare_window(1)-1;
lateral_lags = -compare_window(2)+1:compare_window(2)-1;
xc1 = normxcorr2(g1in,g2in);
xc1_i = interp2(xc1,cc_resample_rate,'spline');
[M1 N1] = size(xc1_i);
a_lags_i = interp1(0:length(axial_lags)-1,axial_lags,0:1/2^cc_resample_rate:length(axial_lags)-1,'spline');
l_lags_i = interp1(0:length(lateral_lags)-1,lateral_lags,0:1/2^cc_resample_rate:length(lateral_lags)-1,'spline');
if row ~= 1
temp_v = 0: counter-1;
ep1 = round(sum(ROW1( counter-temp_v(1: counter-1)-1))/( counter-1));
[rows1 cols1] = ind2sub([M1 N1],indices1(idx1));
ROW1( counter) = rows1;
else
[xc_out1( counter,col,frame) idx1] = max(xc1_i(:));
[rows1 cols1] = ind2sub([M1 N1],idx1);
ROW1( counter) = rows1;%
end
axial_shift1( counter,col,frame) = a_lags_i(rows1);
lateral_shift1( counter,col,frame) = l_lags_i(cols1);
counter = counter+1;
end
col
end
So what this is doing is sliding a window down both sets of data, the window is 50 samples long (rows) and 15 sample wide (cols) and as this window is sling down the signals, it using normxcorr2 to find the normailized 2D cross correlation, finds the maximum value within set seach parameters based on assuption of how much the maximum shift can be during a time interval, and saves the detected shifts into an array.  Once the shifts have been detected the next step is to filter the shifts (displacement) array and take the derivative in the axial direction to generate the strain image.  The goal is then to scale the image to map the intensity of the energy causing the movement.  So As I said, I am looking for any ideas on ways to speed up my correlation algorithm or alternative approached to detecting sub-sample shift in 2D.  Second, I am having problems with the the filtering and
especially taking the derivative portion of the problem.  The main obsticale is that if I dont filter enough, the derviative oscilates and I cannot use the result.  If I over filter I lose the spatial resolution.  Mainly it is a lowpass filter needed, and I currently need a cutoff frequency of approx. .02 normailzed by the sampling frequency.  I  have tried most of the built in filters, the filter building tool, creating my own custom wondowed sinc filter using methods I learned in DSP, differentialing filters, polynomial fits to take an analytic derivative, first difference, and so on with limited results and again here I am looking for any suggestions or ideas that may help me leap these hurdles.  Now I dont want to be scolded for not including data or images which I am more than willing to provide but the data sets are large and would need to know the best way to get those to anyone
who thinks the may want to try and help.  As far as images go, again I can provide them but at this time do not know the best way to share them in this setting.

Thanks for any ideas,help, or insight you might provide into improving the algorithm, different approaches to solving the problem and ways to tackle the filtering and differentiating issues.  If you think images or actual data may help please let me know how to get them to you.

EEStudent
```
 0

See related articles to this posting

```Have you run it without the col statement in there to print out your
column?  Sometimes printing out to the command window really slows
things down.  Also, have you tried nlfilter() instead?  It might not
be much faster but it might be worth a try.

Finally, tell me how long it takes?  Are we talking many minutes or
just a few seconds?  We've had people here complain that things are
taking too long where they are taking a fraction of a second, and
they're not using real time processing they just want to try to hammer
down the tic-toc time just for theoretical reasons.  Like they click a
button and they think they'll notice that it now takes .005 seconds

If you want to post images or data files, the best I've found is
http://drop.io.
```
 0

```On 24 apr, 07:31, "EE Student " <n...@cec.wustl.edu> wrote:

>  =A0The goal is then to scale the image to map the intensity of the energ=
y causing the movement. =A0

Forget it.

The only way to use images to measure energy intensity, is
to use calibrated sensors. You don't have that.

What you measure, is physical displacements and deformations.
That's all. There may or may not be a relation between what
you measure and what you want, but make sure you understand
the difference.

What you attempt to do, is comparable to use image processing
to measure temperature by imaging one of the old-style mercury
thermometers. The image processing part is to measure and
quantifying the length of the mercury column. That length
tells you absolutely nothing about temperature. You need to
know a lot about the design of the thermometer and the thermo
dynamic properties of mercury to map the measured length to
temperature.

Rune
```
 0

```"EE Student " <np7@cec.wustl.edu> wrote in message <hqtvnl\$739\$1@fred.mathworks.com>...
> Hey there MATLAB image processing and signal analysis community.  This is my first post on the message board looking for suggestions, ideas and or help.  Let me fill those of you who decide to read this in on some of my backround and that of my problem.  I am an electrical engineering student and I am doing some research on a medical imaging technique similar to strain imaging using ultrasound.  The basic idea is that if you have some substance (it doesnt really matter what, it could be tissue, it could be tofu, or anyting like that, just some type of soft yet solid material), and you image it using ultrasound over some time interval, say we take an image every 15 seconds, and while we are taking this series of images, we introduce some energy or force that causes actual or apparent movement within the substance we should be able to detect the movement by comparing succsessive signals
or
> images.  To break it down further, the signals rescieved by the ultrasound transducer are RF signals, and we recieve back a 128 (it could be 256 depending on the focal depth and size of the sample tissue) signals which represent the width of the tansducer (and therefore the width of area of interest of our substance).  When imported into MATLAB these will be my colums, so I will have 128 colums of data.  Each colum of data will hold approximately 2000 samples (of course giving me a 2000 row by 128 colum matrix of data at each time interval an image ultrasound image is taken) and these samples (rows) will redpresent the axial depth into the substance.  I am currently only working in 2D so I will not consider elevation at this time.  The sampling freuqncy of my transducer is 24MHz.
>
> What I want to do is to detect any shifts in the RF signals from one time to the next.  Currently I am doing this by means of a windowed cross-correlation algorithm, and while it does work in the sense it detects the shifts, it is painfully slow.  I am most concerned with movment along each column (axial) but I cannot ignore movement along each row (lateral) so going to a 1D anaysis is not an option.   To give an example of the basic approach I am currently using:
>
> For this example I will assume no resampling of the input (but i do in my normal approach), but I am resampling the correlation outputs in an attempt to gain sub-sample accuracy in the shift detection, however this is also my greatest enemy in terms of time efficiency
>
> %normally g1 = data_at time_t;
> %normally g2 = data_at_time_t_plus_1;
>
> for this example I will create a random set and shift it using circshift, so if you try this and run the code it should detect some varrying integer shifts throughout, the actual shifts are recorded for checking perpouses.  You will see that the code works reasonably well, not perfect but good enough to get the point across.  My actual algorithm im using is more complex, and resamples a bit more and yields more accurate sub-sample results but again its awefully slow.
> g1 = rand(400,40);
> g2 = zeros(size(g1));
> counter = 1;
> for i = 1:50:400
>     shifts = -10:1:0;
>     g2(i:i+49,:) = circshift(g1(i:i+49,:),shifts(mod(i,7)+1));
>     record_of_shifts(counter) = shifts(mod(i,7)+1);
>     counter = counter+1;
> end
>
> predicted_shift_max = 5; %this is in samples without resmapling
> % the sizes of the two arrays are always equal
> [rows cols] = size(g1);
> compare_window = [50 15];
> cc_resample_rate =0;
> %my basic cross correlation
> frame = 1;
> for col = 1:cols-compare_window(2)
>     counter = 1;
>       for row = 1:rows-compare_window(1)
> g1in = zeros(compare_window);
>                          g2in = g2( counter: counter+compare_window(1)-1,col:col+compare_window(2)-1);
>                          g1in(6:compare_window(1)-5,3:compare_window(2)-2)= g1(counter+5:counter+compare_window(1)-6,col+2:col+compare_window(2)-3);
>                         axial_lags = -compare_window(1)+1:compare_window(1)-1;
>                         lateral_lags = -compare_window(2)+1:compare_window(2)-1;
>                         xc1 = normxcorr2(g1in,g2in);
>                         xc1_i = interp2(xc1,cc_resample_rate,'spline');
>                         [M1 N1] = size(xc1_i);
>                         a_lags_i = interp1(0:length(axial_lags)-1,axial_lags,0:1/2^cc_resample_rate:length(axial_lags)-1,'spline');
>                         l_lags_i = interp1(0:length(lateral_lags)-1,lateral_lags,0:1/2^cc_resample_rate:length(lateral_lags)-1,'spline');
>                         if row ~= 1
>                             temp_v = 0: counter-1;
>                             ep1 = round(sum(ROW1( counter-temp_v(1: counter-1)-1))/( counter-1));
>                             [xc_out1( counter,col,frame) idx1] = max(xc1_i(mask1(:)==1));
>                             [rows1 cols1] = ind2sub([M1 N1],indices1(idx1));
>                             ROW1( counter) = rows1;
>                         else
>                             [xc_out1( counter,col,frame) idx1] = max(xc1_i(:));
>                             [rows1 cols1] = ind2sub([M1 N1],idx1);
>                             ROW1( counter) = rows1;%
>                         end
>                         axial_shift1( counter,col,frame) = a_lags_i(rows1);
>                         lateral_shift1( counter,col,frame) = l_lags_i(cols1);
>                         counter = counter+1;
>       end
>                     col
>                 end
> So what this is doing is sliding a window down both sets of data, the window is 50 samples long (rows) and 15 sample wide (cols) and as this window is sling down the signals, it using normxcorr2 to find the normailized 2D cross correlation, finds the maximum value within set seach parameters based on assuption of how much the maximum shift can be during a time interval, and saves the detected shifts into an array.  Once the shifts have been detected the next step is to filter the shifts (displacement) array and take the derivative in the axial direction to generate the strain image.  The goal is then to scale the image to map the intensity of the energy causing the movement.  So As I said, I am looking for any ideas on ways to speed up my correlation algorithm or alternative approached to detecting sub-sample shift in 2D.  Second, I am having problems with the the filtering and
> especially taking the derivative portion of the problem.  The main obsticale is that if I dont filter enough, the derviative oscilates and I cannot use the result.  If I over filter I lose the spatial resolution.  Mainly it is a lowpass filter needed, and I currently need a cutoff frequency of approx. .02 normailzed by the sampling frequency.  I  have tried most of the built in filters, the filter building tool, creating my own custom wondowed sinc filter using methods I learned in DSP, differentialing filters, polynomial fits to take an analytic derivative, first difference, and so on with limited results and again here I am looking for any suggestions or ideas that may help me leap these hurdles.  Now I dont want to be scolded for not including data or images which I am more than willing to provide but the data sets are large and would need to know the best way to get those to anyone

> who thinks the may want to try and help.  As far as images go, again I can provide them but at this time do not know the best way to share them in this setting.
>
> Thanks for any ideas,help, or insight you might provide into improving the algorithm, different approaches to solving the problem and ways to tackle the filtering and differentiating issues.  If you think images or actual data may help please let me know how to get them to you.
>
> EEStudent

ImageAnalysit,

Yes I just add the "col" statement to track the progress when the code is running. The datasets typicially consist of  30 to 100 matrices (i will refere to these as frames) in sized about 2000 by 128 or 2000 by 256.  Generally speaking you do not need to correlate each frame to the next, but the further apart in time the frames are, the more decorrelation and error occurs.  A good model for the ultrasound signal is

q(r) =   summation  q_i * delta(r - r_i) from k = 1 to Nr   where q_i is the reflectivity and r_i is the position of the "ith" scatter.  Basically, a burst is shot doen into tissue, the burst is reflected back off different points within the tissue and reutrn to the transducer in  varrying applitudes and non-uniform incremements (but related to the speed of sound in the material) to creat 1 signal.  The closer in time you send another burst the more similar the return signal to the previous, but the longer you what, the more the orignal causes of scatter may be moved by the applied energy thereby causing the return scatter pattern to differ and making it harder to accurately correlate the signals.  Currently, the code I am written does a great job of detecting the shifts in successive frame or every few frames, but I cannot go from say frame 1 to frame 30, there is too much
decorrelation.  Each frame however takes a anwhere from30 minutes to a few hours or more to work through dependingon the ammount and location of interpolations.  I will get an account for the drop site you posted this afternoon to share some data and results I currently have.   I know that this can work well when the force applied is mechanical and causes a lot of movement.  I have great results for this case to measure the strain of the material being stressed, although it works better in phantoms or tofu than on animal tissue.  The more difficult problem is say I want to use heat as the energy to cause motion in the tissue.  As when know if you heat tissue, such a muscle, the cell volume expands as the thermal energy rises, tis will cause the distance the ultrasound signal has to travel to become longer causeing an apparent delay in subsequent signals.  However, the change in
temerature will also effect the speed of sound (SOS) in the medium so the SOS is a function of distance (z) and temperature (T) .  Measure the apparent delay cause by the heating could then reasonably be used to determine temperature if the signals are processed correctly.  The shifts, or delays in this case are much smaller and therefore harder t detect but again my algorithm does this well to map the "echo-shifts" as it is refered to, however, at this point becomes the problem of filtering, spatial resolution and differentiating that I refered to before.  The echo-shift maps look just like one would expect to see as heat diffused from a localized source.  However, mathmeatically it is the derivative of the echo-shifts that is related to the change in temperature, although I guess I could try to soleve the problem to eleminate the need for the diferentiation.  But this would create
other questions.  I am balabbering.  Let me get the data and images posted to better show you what is going on.  Thanks for the reply and I will also look into the nlfilter()  function.

Rune,

Thank you for taking the time to reply, but forgetting it is not an option, nor is it good advice.  I do not agree with you analogy of the thermometer as it does not pertain to the sort of analysis I am doing( even though measuring temperature is one of my goals).  As I stated above, piece of tissue is heated, the cells that make up that tissue will expand based on the material properties.  This is well docemented and tables of coefficients of thermal expansion exist.  As the tissue expands it created a longer path that the ultrasound signal must pass through before returning to the transducer.  The speed of sound (SOS) in the material will also change with temperature causing an apparent delay in the signal.  Measureing this delay (echo_shift) throughout a standard time frame will yield a map of shifts, greater closer to the heat source, less when further away.  The results are what you
would epect if you ploted the solution to the heat equation in 2D.  Now perhaps I did a poor job of explaining what I was trying to accomplish, but can use techniques like this can be used to learn about physical forces and the materials the signals passed through.  This is how we know that the Earths core is moltan.  Seizmic waves during earthquakes, while not felt globally can be detected globally, and by measuring the refraction of the waves or other signal characteristics as they pass through dfferent material can tell you alot about the material itself.  Similar techniques are used to dtermine where oil and gas are without digging.  I am noy looking a the ultrasound images, but looking at the signals that create them, I think I may have failed to clarify this.  Sorry if that was confusing.

EEStudent
```
 0

```On 24 apr, 18:04, "EE Student " <n...@cec.wustl.edu> wrote:

> Rune, =A0
>
> Thank you for taking the time to reply, but forgetting it is not an optio=
n, nor is it good advice. =A0I do not agree with you analogy of the thermom=
eter as it does not pertain to the sort of analysis I am doing( even though=
measuring temperature is one of my goals). =A0As I stated above, piece of =
tissue is heated, the cells that make up that tissue will expand based on t=
he material properties.

You are a student, which is a different way to state that you have no
idea

The reason why no systems exist to do what you want, is that what you
want
can not be done. At least not the way you want to do it. The
*experienced*
engineers are able to break the task down in sub-tasks, which I did
with
the thermometer example.

The best you can do with ultrasound is to measure time delay of
reflections.
You can *not* explayn what *causes* that time delay: The basic idea is
expressed
as

t =3D c(T)*v(T)*L(T)*w(T)

where

t    is the time delay
T    is the temperature
c(T) is the speed of sound at temperature T
v(T) is some correction to c(T) comared to some reference temperature
L(T) is the length of the sample at temperature T
w(T) is some correction to L(T) compared to some refence temperature

Since both c(T) and L(T) depend on T, you are unable to measure T.

This is a classic mistake made by novices and amateurs - the
characteristic
applies just as much to your tutour / supervisor as yourself. Find a
different
project. Your present supervisor have no idea what he or she is
doing.

Rune
```
 0

```Rune Allnor <allnor@tele.ntnu.no> wrote in message <dcc5709a-078e-4fba-a342-a902afb5e00c@8g2000yqz.googlegroups.com>...
> On 24 apr, 18:04, "EE Student " <n...@cec.wustl.edu> wrote:
>
> > Rune,
> >
> > Thank you for taking the time to reply, but forgetting it is not an option, nor is it good advice.  I do not agree with you analogy of the thermometer as it does not pertain to the sort of analysis I am doing( even though measuring temperature is one of my goals).  As I stated above, piece of tissue is heated, the cells that make up that tissue will expand based on the material properties.
>
> You are a student, which is a different way to state that you have no
> idea
> what you are talking about.
>
> The reason why no systems exist to do what you want, is that what you
> want
> can not be done. At least not the way you want to do it. The
> *experienced*
> engineers are able to break the task down in sub-tasks, which I did
> with
> the thermometer example.
>
> The best you can do with ultrasound is to measure time delay of
> reflections.
> You can *not* explayn what *causes* that time delay: The basic idea is
> expressed
> as
>
> t = c(T)*v(T)*L(T)*w(T)
>
> where
>
> t    is the time delay
> T    is the temperature
> c(T) is the speed of sound at temperature T
> v(T) is some correction to c(T) comared to some reference temperature
> L(T) is the length of the sample at temperature T
> w(T) is some correction to L(T) compared to some refence temperature
>
> Since both c(T) and L(T) depend on T, you are unable to measure T.
>
> This is a classic mistake made by novices and amateurs - the
> characteristic
> applies just as much to your tutour / supervisor as yourself. Find a
> different
> project. Your present supervisor have no idea what he or she is
> doing.
>
> Rune

Rune,

Once again I will thank you for taking the time but I still think you are misguided.  Or at least your mathematical expression is not representative of what I am trying to do.

MAthematically what is happening is this:
axial depth is = z
the apparent time shifts I am mesaureing at depth z will be t(z) - t0(z) = td(z)
thermal expansion at depth z = alpha(z)
temperature at depth z = T(z)
intital temerature before heating T0   (also the edged of the sample are kept at this temperture in the lab)
speed of sound is a function of tempertature T and depth z = c(z,T(z))

td(z) = 2 * int((1+alpha(z)*(T(z) - T0))/(c(z,T(z)) - 1/c(z,T0))dz  from 0 to z
differentiating this with respect to z

d(td(z))/dz = 2*((1+alpha(z)*(T(z) - T0))/(c(z,T(z)) - 1/c(z,T0))
*note this should be a partial derivative on the left  but I cant make that character
making a reasonable assumption that the SOS is linear with the temperture range of interest:
c(z,T(z)) = c0(z)*(1+beta(z)(T(z) - T0))  where c0(z) is the mean SOS in the material at T0, and beta(z)  = 1/(c0(z) * d(c(z,T0)/dT
* again the derivative on the right here ahould be a partial

the change in temperature T(z) - T0  I will now call delta_T(z)

delta_T(z) = c0(z)/(2*(alpha(z) - beta(z)) * d(td(z))/dz
*the derivative on the right is still a partial

since delta_T(z) = T(z) -T0, the temperature at depth z, T(z) is

T(z)  = c0(z)/(2*(alpha(z) - beta(z)) * d(td(z))/dz   + T0

In homogenous materials where we can assume   c0(z)/(2*(alpha(z) - beta(z)) =  k; where k is some constant due to the materials properties and being homogeneous.  Using phantom simualtions or consistant samples such as tofu, I can produce a temperture map based on this equation where I follow the process of estimiateing the time shifts from fram to frame, sum the shifts, filter axially and laterally, differentiate the axial, and scale by k*c0/2.  These tempertaure maps are acurate when compared to thermal couple readings.  In actual animal tissue where the k parameter cannot be as easily asummed to be constant I am having more difficultl, which is why I was looking for alternative ideas to the processing I am currently doing.  Finally I will say just because you dont see a relationship between what is going on doesnt mean there isnt one, close mindedness is the enemy of scietific
discovery.
```
 0

```On 24 apr, 19:10, "EE Student " <n...@cec.wustl.edu> wrote:
> =A0Finally I will say just because you dont see a relationship between wh=
at is going on doesnt mean there isnt one, close mindedness is the enemy of=
scietific
> discovery.

The enemy of scientific discovery is not to use the basic facts.
You should have learned some time around age 12 that one can not
use *one* equation to solve for *two* variables.

In the equation

t =3D L/c

the only one known factor is the time delaty t. You can use
knowledge or assumptions about *either* c *or* L to infer
something about the other, but not both at the same time.

Of course, 'the open mind' is the incompetent's, the amateur's
and the idiot's defence for not knowing the basics, nor being
able to set up a logical chain of causes and effects.

Rune
```
 0

```Rune Allnor <allnor@tele.ntnu.no> wrote in message <6fa630aa-97fb-4081-a295-42ffeef8b28a@r18g2000yqd.googlegroups.com>...
> On 24 apr, 19:10, "EE Student " <n...@cec.wustl.edu> wrote:
> >  Finally I will say just because you dont see a relationship between what is going on doesnt mean there isnt one, close mindedness is the enemy of scietific
> > discovery.
>
> The enemy of scientific discovery is not to use the basic facts.
> You should have learned some time around age 12 that one can not
> use *one* equation to solve for *two* variables.
>
> In the equation
>
> t = L/c
>
> the only one known factor is the time delaty t. You can use
> knowledge or assumptions about *either* c *or* L to infer
> something about the other, but not both at the same time.
>
> Of course, 'the open mind' is the incompetent's, the amateur's
> and the idiot's defence for not knowing the basics, nor being
> able to set up a logical chain of causes and effects.
>
> Rune

Rune,
If you look at the equations carefully, all are functions of depth, known properties of materials, known (within a range of temperatures and based on the medium) speed of sound, and Temperature which again is a known range.  Knowing the boundry values, the depth z based on the sampling frequency, and matrial properties should be enough to yield a solution.  As I stated I have reached a solution in phantoms and homogeneous mediums.  Perhaps the non-homogeneous tissue is too complex and I need to revisit the approach.   But in your expression:

t=L/c

we know that L,the length of propegation, is equal to L + dL where dL is the volumetric change of the tissue due to thermal expansion at depth z, alpha(z), so  L is therefore (1+alpha(z))*delta_T(z)

c can be assumed to be linear (or very close to it) in the temperature range I am studying, that is c(z,T(z))  =  c0(z)*(1+beta(z)*delta_T(z)) where c0(z) is the mean SOS in the medium which is known, for example in water at 20*C is roughly 1.48 mm/us and beta(z)= 1/(c0(z) * d(c(z,T0)/dT    The tough part comes in animal tissue where you might have muscle tissue infused with blood vessels, fat, and other tihngs that will cause the SOS to deviate from its relatively lenear characteristic within the temperature range.

With this known information, a solution can be reached.  Papers have been published on the topic, I have confirmed the result using my own methods on homogeneous mediums and phantoms.

Now why do you feel it necessary to insult me, my advisor, and my work?  I came to this site posting a reasonable request for a discussion of ideas and/or alternative solutions to a problem I have been working on for a while. I Presented the backrund of my work and results to make sure everyone knew I was not trying to get someone to just do my work for me or give me an answer.  You did not try and provide any real insight into possible ways to improve the algorithm, techniques to get around the filter/differentiaing problem I have encountered or anthinf remotely constructive.  Instead you degrade.  What is your background, or what have you done that gives you such authoity to discredit countless numbers of PhDs who have shown that this is indeed a viable solution and are working on ways to improve it?
```
 0

```On 24 apr, 19:58, "EE Student " <n...@cec.wustl.edu> wrote:

> Now why do you feel it necessary to insult me, my advisor, and my work? =
=A0

There are no insults. You don't know what you are doing; you don't
see the trees for the forest (or vice versa); you are unable to
use the most basic arguments and principles: One can not use *one*
measurement to solve for *two* variables.

Rune
```
 0

8 Replies
279 Views

Similar Articles

12/12/2013 12:00:03 PM
page loaded in 5855 ms. (0)

Similar Artilces:

Correlation analysis of images
I have a plain image (eg. Lena) and its encrypted one.. I have to randomly select 2000 pairs of adjacent pixels from the plain image and encrypted image,and draw the distribution diagram of two horizontally, vertically, and diagonally adjacent pixels of the plain image and the encrypted image.. Can anyone help me out??? ...

granulometry in image analysis
Hi Anyone using granulometry feature available in image processing toolbox for measuring particle dimensions from SEM images. I would like to know its adavantages & disadvantages and your experience. ...

Image Analysis #7
I want to recognize some text which is scanned from anybook or somewhere else then type that text in word format. How i recognize the text area and that text? Can any budy guide me please?? On Nov 3, 4:16=A0pm, "Zanie " <zanie_sw...@hotmail.com> wrote: > I want to recognize some text which is scanned from anybook or somewhere = else then type that text in word format. > > How i recognize the text area and that text? > > Can any budy guide me please?? ---------------------------------------------------------------------------= ----------------------------------...

free image RF
Free image with licence RF http://photobank.net-poland.com/ ...

Medical Image Analysis at SFU
Hi, I am applying to the M.S program at the Engineering Sciences Dept of Simon Fraser University, Canada. I am interested in Medical Image Analysis and am targetting the Medical Image Analysis Laboratory (http://mial.fas.sfu.ca/index.p=ADhp ) of SFU, a 2 yr old lab headed by Dr.Faisal Beg and Dr.Ghassan Hammerneh. The groups has collaborations with NIH, University of British Columbia, John Hopkins, Yale, University of Washington - Seattle, Pacific Institute of Mathematical Sciences(PIMS) & a few others. Also, both Dr.Beg and Dr.Hammerneh have researched under groundbreaking Image Process...

Drop profile image analysis
I have taken a video of a water droplet dispensed out from a syringe. I will need to know the change in width, height and contact angle of the droplet with time. I have created binary images out of the video and may I know which script function to use in order to calculate the width, height and contact angle of the droplet? ...

Image normalization before PCA analysis
Is there a difference if normalization to zero mean and unit variance of the image is applied before PCA? Typically having N images the rows or columns of each are concatenated to form a vector x and X matrix is formed from those vectors for PCA decomposition. As images are uint8 data they are converted to doubles e.g. from 0..255 to 0.0...1.0 range with I(:) ./ 255. But as mean is removed from X in any case I presume we may keep the pixels in original 0...255 range just converting them to doubles. Does the input image normalization choice 1,2 or 3 affects PCA decomposition results? ...

Automatic Signal detection in an image.
Hello, my problem's the following: I have 20 pictures of a checkerboard taken in different position. For each picture I must manually select the 4 vertex of this checkerboard, and work is too much long. Is there some way to make Matlab automatically detect the 4 vertex in my checkerboard? Thank you. On 16/01/11 10:19 AM, Vincenzo wrote: > Hello, my problem's the following: > I have 20 pictures of a checkerboard taken in different position. > For each picture I must manually select the 4 vertex of this > checkerboard, and work is too much long. Is there some way t...

Text image analysis with the haar wavelet
well i havent made any algorithms as of yet, but i know how to go about it.the only wavelet code i have done is in mathematica, not java.You would basically convert a the bitmap image of the text into a nxmmatrix.Then you would analyse the vertical and horisontal "lines" as adiscrete function,with each color coming through as a frequency.So the spaces between each letter would have only 1 frequency"corresponding with white or whatever"and you could then single out each letter and analyse it against adatabase of known frequencies.Then using some stochastic process you could ...

Vector, Signal and Image Processing Library
Is anyone here doing anything to do with VSIPL? I've been working on a VSIPL project for a few months now, looking at developing a commercial implementation. I've been looking mostly at the system design issues and the hardware specifics. I reckoned it was maybe about time to take another look at the motivations and I'm trying to get more of a feel for what's happening with this standard at this point in time. If you go looking on the internet for what people think of VSIPL, you don't hit on a lot of stuff. There are a good few discussions from a couple of years ago talki...

pcb crosstalk/signal integrity analysis
does anyone have any general guidelines and perhaps some tutorials for routing allegro SI for designing around crosstalk, signal integrity, pcb constraints for timing and manufacturability? my knowlege on the subject: i've taken various E&M courses so i know the theory behind it, and am taking a digital systems class so i've ventured into the experimental side, but its mostly been with transmission lines and not pcb traces with hundreds of nets. what can be done besides ground/power planes close to signal, thick/far apart traces, and slower rise times? i only know a bit about by...

TV Remote RF Signal Simulator
Hi all, I m new in this forum. I need favour from some of RF Signal Simulator Masterminds. Can somebody tell me anything about RF Remote Signal Simulator. I want to Simulate the Remote signals. e.g if i want to change the channels after every 5 seconds. So i want some simulator where i can program this and will execute as per my requirement. please let me know any freeware RF Simulator then please let me know.... Thanks in advance. Best Regds Vik.... ...

ANN: Digital Image Analysis with Swarm Intelligence
C.Fernandes, V.Ramos, A.C. Rosa, Self-Regulated Artificial Ant Colonies on Digital Image Habitats, in International Journal of Lateral Computing, IJLC, vol. 2, no 1, pp. 1-8, ISSN 0973-208X, Dec. 2005. PDF: http://alfa.ist.utl.pt/~cvrm/staff/vramos/Vramos-WCLC05b.pdf ABSTRACT: Artificial life models, swarm intelligent and evolutionary computation algorithms are usually built on fixed size populations. Some studies indicate however that varying the population size can increase the adaptability of these systems and their capability to react to changing environments. In this paper we present an...

How do I process realtime images to generate a control signal
Hi, hopefully someone can help get me started on this problem... &nbsp; My ultimate goal is to be able to: 1.&nbsp; Capture an image 2.&nbsp; Process it to locate the position and orientation of an object within the image (I am using 2 different size circles drawn on the object which should be easy to locate.&nbsp; The center of the large circle is the center of the object.&nbsp; Drawing a line through the centers of the two objects gives the orientation) 3.&nbsp; Determine the error from this data to a required final position and orientation 4.&nbsp; Output a calli...

JOB: postdoc position in medical image analysis
Postdoctoral positions are available at the Section of Biomedical Image Analysis (SBIA), of the Department of Radiology, University of Pennsylvania (http://www.rad.upenn.edu/sbia). The successful candidates must have background in Applied Math, Electrical or Biomedical Engineering, or Computer Science. Several project opportunities exist, involving work on image analysis of medical images, with emphasis on shape modeling and analysis, deformable models, statistical image analysis and machine learning, among others. SBIA has been a dynamically growing medical image analysis group, including 1...

measuring signal to noise ratio (2D images)?
Quantitative measures of signal-to-noise ratio seem rather varied. For example in 1D signals, I recall somebody just doing an FFT and comparing the peak in the frequency domain to the "noise floor" near the knicker-twist frequency. Now what about 2D images? Has anybody used a metric derived from eigenimage or Karhunen-Loeve decomposition, which compares the first few dominant eigenimages (which approximate the desired signal) to the other weaklings (representing the noise)? Borked Pseudo Mailed wrote: > Quantitative measures of signal-to-noise ratio seem rather > varied. For...

Wavelet Toolbox / Signal Analysis Toolbox Replacement
I work for RSI (Research Systems, Inc. ), and we are working on Biomedical Signal Analysis solutions. I can tell you that we have been using Matlab with its current wavelet toolbox. Matlab has secured distribution rights to AutoSignal and will replace its wavelet toolbox. AutoSignal is being coded into a Matlab module that will phase out the current wavelet toolbox. We have been able to obtain advanced copies of the new beta of the module. It has cross comparative signal analysis rivaled by none with real time data import analysis. Systat who owns AutoSignal is being very secretive about the f...

Interfacing GUI with image analysis M-File? #2
I'm a bit new to GUIs, and I'm having some trouble transferring data between the GUI and an M-file I've already written. The M-file, title, 'firsttry.m' analyzes a folder of .rsgs image files and compiles the data into a .csv file in Excel. Right now, to perform this function, I actually need to go into the M- file code each time I want to use it and change the folder name. Here's how the input in the M-file is constructed: filefolder=fullfile(matlabroot,'toolbox','images','David Images','Combined MT') diroutput=dir(fullfile(filef...

tapping getframe for reduced computation time in image analysis
i'm analyzing a video(frame by frame) and would like to reduce computational time by getting only a region(that encompasses my roi) in the subsequent frames...now i basically take the first image...and when i go to the next one..i wanna get only a portion of the frame..so i did: cref=233;rref=248; % coordinates of my roi in the base frame %now in d subsequent frame i'd like to only consider a portion of it for analysis..for this i use plot(im);hold(imgca,'on'); F = getframe(imgca,[(cref-14),(rref+10),35,39]); %is this valid ? i get errors...appreciate replies that can h...

[Discussion] Image Compression using Independent Component Analysis (ICA)
Q1. Can Independent Component Analysis (ICA) be used for image compression? Q2. If ICA can be used for image compression, to reduce the complexity can a pre calculated localized image basis be selected based of the texture features of input image. Any relevant information will be appreciated. George Wilson ...