LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Making a 3D volumetric one image with lots of (data) images

Hello LV Experts,

 

I have a problem and related to that I have some idea in my mind on how to do that. But I am not sure how to proceed or even if I am right or wrong.

 

I developed a system and a software for it in LV using a camera with PCI 1422 which captures the images from the camera and I am able to save the images in jpeg format in a folder in PC. The images I am saving are giving me data which are 612x464 pixel size 'gray-scale' images which is just showing me my data on the screen.

PROBLEM: To get the result I want these images to be stacked so that I have a volumetric cube or a stack of images where X axis is 612 Y is 464 and Z would be my number of images I save at a time ex. 300.

 

I want to stack those images so that I get a volumetric one image out of all those images...

I think I can use a matrix or array to do that. But still I want some ideas or advices to do it in more simpler way or using MAchine & vision VI as most of my program I made is based on that.

 

I tried using the process image vi but couldn't get much out of it.

 

Anyhelp would be appreciated and I am open to questions if any?

 

Thanks.

0 Kudos
Message 1 of 17
(4,744 Views)

Nitai,

 

Is each 2D image a different layer of your object that you want to reconstruct into a full 3D image? I was not able to find any IMAQ functions that could do this but you could potentially convert each of those 2D images into a binary image and reconstruct them as a 3D scatter plot.

 

Typical 3D imaging with the IMAQ driver is going to be the result of multiple cameras looking at the same object, there might be a better solution if you can tell us a little more about what information you want to get out of the images though.

Matt J | National Instruments | CLA
0 Kudos
Message 2 of 17
(4,693 Views)

Hello Matt,

 

Yes, you got it right. Each 2D image is a layer and I have to reconstruct those all 2D images in one cube/ volumetric design to get a processed image so that I can see my result out of data. As written above in my post about my idea how I am thinking to do is to take 2D images and concatenate them in a stack and then slice up that cube from the front view to see my image. As you asked me I have attached a picture (hand drawn) just to explain in detail as what I am trying to do coz may be I am not that good with words.

 

According to picture attached:

1. I have my sample which I am trying to image.

2. I get 2D images as a different layer of my sample. These are data to be processed to get an image.

3. I want to stack them as shown. ( Drawing is possibly not great but that's a stack; a cube) and then I have the X and Y co-ordinates which are 626x424 and Z is the number of 2D images I will use in one image. Can be 200-500.

4. To see the image, I will cut this cube virtually and see it from the front view to see my image.

 

So, that what I am trying to do and thinking how to process my image. Any help would be appreciated.

 

And, yes multiple camera option is not valid in my case. I only have one camera in use.

 

Thanks.

0 Kudos
Message 3 of 17
(4,668 Views)

 "Any help would be appreciated."

 

 

Then you may want to look at this thread.

 

Many of those example may be a little dated so NI may have to help you translate them into the modern versions but at the lest can give you some ideas.

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 4 of 17
(4,663 Views)

Hello Ben,

 

Thanks for your reply and I saw and researched all your forums and frankly speaking, myself as a newbie in Labview you are a inspiration for me. You're an expert. I saw your work and forums and I am impressed.

 

Ok, now work. I believe my work is still bit simpler rather than going in detail about makind 3D images in starting. I have raw interferometric images (2D grayscale) which only shows me bright and dark fringes of light. I simply want to stack them together to make one image out of it. I have attached the kind of raw data I have so that you may help me. I would be happy to respond to any question. It's 16 bit and have 612x424 pixels data set.

 

Thanks in advance.

Download All
0 Kudos
Message 5 of 17
(4,634 Views)

I am not allowed to write code for free.

 

Your images may just import into one of those old examples. maybe some NI support person maybe interested in upgrading those old examples to serve your needs.

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 6 of 17
(4,627 Views)

Not the code but can you give me some hint or how to approach to write this code? I wasn't expecting a written code but...if you could help me with some ideas?

0 Kudos
Message 7 of 17
(4,622 Views)

map the pixel intensity to points on a plane and use multiple planes for multiples slices. A little transparency for the blackness you want to see through...

 

Those images ALL had supporting and fucntional code behind them. I have not tried them in modern version of LV but I would think NI could help translate to the modern version.

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 8 of 17
(4,615 Views)

Will it work if you convert your image into 2D array (Image to array function), then build these 2D arrays into one 3D array? Then you can slice it (index array) to get different crossections, display these slices on intensity graph (or convert back to image - arrayToImage.vi).

Little performance advice: not build array, first initialize Z*626*424, then replace sheets.

0 Kudos
Message 9 of 17
(4,607 Views)

Is this what you were saying? I tried  entering the image into an array and then I showed it into the intensity graph too. But the problem here is that it's the same output I am getting as I posted a picture above in gray scale but the only difference is it's in color now in intensity graph.

 

I didn't understand to initiliaze Zx626x424. Could you tell me my mistake or what further I can do to get an image

0 Kudos
Message 10 of 17
(4,592 Views)