0

I've been trying to calculate an arbitrary plane shaped intersection in a 3-dimensional array but am unable to find any solution for my problem using C#.

I have a 3D array which is basically a stack of images (x and y correspond to the height and width of the images, z to the number of the image within the stack). The user can define three points (x,y,z), which indicate the position and orientation of a plane within the array. It can lie straight or angled in any direction within the 3D array.

I find it tricky to find a solution to get all values from this plane, from between the points as well as beyond them as they do not necessarily lay on the edge of the 3D array. As the points can be arranged in any way (all three are not colinear), the width and height of the plane is also unknown.

Does someone have an idea how to approach this problem please?

cubes247
  • 1
  • 2
  • 1
    All values? With the resolution of the images? Can you interpolate pxels between the images? – TaW Jul 04 '22 at 10:49
  • @TaW - All values which would be on the plane which is to be defined using the three points. The resolution of the images (pixel values) give the x and y of the matrix. Yes, i can interpolate the pixels. The images are slices from a CT scan and belong to the same object. – cubes247 Jul 04 '22 at 12:26
  • For the interpolation part [see here](https://en.wikipedia.org/wiki/Trilinear_interpolation), so you would need to find the eight values surrounding a pixel.. To find points [this](https://stackoverflow.com/questions/53698635/how-to-define-a-plane-with-3-points-and-plot-it-in-3d) may help.. – TaW Jul 04 '22 at 13:10

0 Answers0