# Correction factor for Image plot matrix

Hello!
I have a question for the Igor users.
I have a matrix (attached here) which I can plot as an image plot.
The x-axis of this matrix is energy and the y axis is time.
As you can see, the maximum of this plot bends in the x-axis after about 100 s.
I would like to correct this bending, so that the yellow maximum is straight.
But I cannot do it manually because it would take me forever!
Is there a way to correct it, a procedure or something? And then to plot it back as an image plot so that the maximum is straight.
I would really appreciate your help!
This correction factor will then be applied to correct other similar peaks.
I would really appreciate your help. Thanks a lot
bend.png (24.41 KB)
In this instance, an approach I would suggest is the following:

(1) make a function that locates the 'x' maximum for each time slice in your matrix; put all these values in a new 1D wave having the same size as the y (time) dimension. You can use the FindPeak operation for this.
(2) then in this function, create a new 2D wave where each y (time) slice is shifted by the amount determined by its V_PeakLoc value, to put the peak at the starting maximum location. This can be done most easily by using simple shifting on each y slice. The scaling common to all shifted time slices must be maintained to keep your x-y matrix format.

You can probably skip the 1D peak wave creation if you immediately create the shifted slice within your loop, using V_PeakLoc, and stuff the new 2D y row with the shifted content.

One decision you have is how to treat the z-values of new elements of the shifted slices where no data exists. You can arbitrarily assign a baseline value or else use a curve fitting procedure on each slice to extrapolate the new values in each of the new x columns.
Hello Anna,

There are a couple other options for you to consider:

1. If you can come up with a functional form for the correction that looks like a radial polynomial you can use ImageInterpolate with the keyword Resample.

2. If you can manually produce a sparse grid to correct the image you can use ImageInterpolate with the Warp keyword. An example of this is provided in File Menu->Example Experiments->Imaging->Image Warpoing Demo (make sure that all the auxiliary waves are DP).

A.G.
WaveMetrics, Inc.