Line Profiling a 3D data

I was trying to develop a program to line profile an image which may contain 3D Data and 4D data; the data pertains to the sample for Fermi analysis using an ARPES. I have yet to write the program any heads up on how to approach the procedures in order to avoid debugging issues and algorithm failures.

ps: How to line profile 3D or 4D data image? XP

It is not clear from your question if you need the profile in the same data plane (layer) in which case I recommend using the ImageLineProfile operation which supports 2D and 3D waves.  4D waves can be handled by extracting the relevant layer (e.g., using MatrixOP).

If your profile is not confined to one data layer then remember that the key to line profile is interpolation.  In two or three dimensions you can use the Interp2d() and Interp3D() functions.  There is no built-in equivalent function for 4D data but it would be fairly easy to write if you are happy with linear interpolation.

A.G.

dear Igor,

can you send me the link for interpolation, I believe this might help me to accomplish the desired task.

the task is to line profile the data and plot it as a seperate image, so as the point of highest intensity can be discovered.

then the rest is the scientific explanation.

In reply to by coltblaze

You did not state if your profiles are sampling in a single layer of data.

Generically, I would look into using the Interp2d() and Interp3D() functions as appropriate.

There are better ways to find the point of highest intensity than using a line profile.  Consider WaveStats for example.

 

A.G.

Can we convert the 3D matrix into 2D, without the loss of information? and still get the same image as we would have plotted it with the 3D matrix? if so what are the matrix operations to do so?

Your 3D matrix consists of layers of 2D.  You can extract these layes, e.g.,

MatrixOP/O layer2=my3DWave[][][2]

You can also use ImageTransform, Duplicate/R or a simple wave assignment.

if the dimension of a 3D matrix is [327][54][39] Row: Column: Layers respectively and we try to transform the 3D matrix into a 2D matrix what will be the dimension of the 2D matrix. 

In reply to by coltblaze

coltblaze wrote:

if the dimension of a 3D matrix is [327][54][39] Row: Column: Layers respectively and we try to transform the 3D matrix into a 2D matrix what will be the dimension of the 2D matrix. 

AG was suggesting that you extract a single layer ([327] x [54]) from your 3D matrix for analysis. 

If your line profile isn't contained in a single layer, then AG's suggestion won't be applicable to your problem.