# Convert 2D ultrasound image to 3D

**URL:** https://discourse.vtk.org/t/convert-2d-ultrasound-image-to-3d/1614
**Category:** Support
**Created:** [August 19, 2019, 1:09pm UTC](https://discourse.vtk.org/t/convert-2d-ultrasound-image-to-3d/1614 "2019-08-19T13:09:51Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![Qiangyun\_li](https://discourse.vtk.org/user_avatar/discourse.vtk.org/qiangyun_li/32/753_2.png) [@Qiangyun\_li](https://discourse.vtk.org/u/Qiangyun_li)
#### Post date: [August 19, 2019, 1:09pm UTC](https://discourse.vtk.org/t/convert-2d-ultrasound-image-to-3d/1614/1 "2019-08-19T13:09:51Z")

</div>

I have 3D matrix and the pixel spacing about volume , how can l get volume render.

---

<div class="post-metadata">

### Author: ![lassoan](https://discourse.vtk.org/user_avatar/discourse.vtk.org/lassoan/32/50_2.png) [@lassoan](https://discourse.vtk.org/u/lassoan)
#### Post date: [August 23, 2019, 6:01pm UTC](https://discourse.vtk.org/t/convert-2d-ultrasound-image-to-3d/1614/2 "2019-08-23T18:01:06Z")

</div>

You can reconstruct a 3D volume from 2D ultrasound image slices using [Plus toolkit](http://www.plustoolkit.org).

---

<div class="post-metadata">

### Author: ![rjsgml5698](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/r/85f322/32.png) [@rjsgml5698](https://discourse.vtk.org/u/rjsgml5698)
#### Post date: [November 25, 2019, 4:30am UTC](https://discourse.vtk.org/t/convert-2d-ultrasound-image-to-3d/1614/3 "2019-11-25T04:30:27Z")

</div>

Is there a simple user guide for plustoolkit?  
@lassoan

---

<div class="post-metadata">

### Author: ![lassoan](https://discourse.vtk.org/user_avatar/discourse.vtk.org/lassoan/32/50_2.png) [@lassoan](https://discourse.vtk.org/u/lassoan)
#### Post date: [November 26, 2019, 2:20am UTC](https://discourse.vtk.org/t/convert-2d-ultrasound-image-to-3d/1614/4 "2019-11-26T02:20:30Z")

</div>

User guide is [here](http://perk-software.cs.queensu.ca/plus/doc/nightly/user/index.html). You can [post your questions as issues on the project’s issue tracker](https://github.com/PlusToolkit/PlusLib/issues/new).

---

<div class="post-metadata">

### Author: ![rjsgml5698](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/r/85f322/32.png) [@rjsgml5698](https://discourse.vtk.org/u/rjsgml5698)
#### Post date: [November 26, 2019, 4:13am UTC](https://discourse.vtk.org/t/convert-2d-ultrasound-image-to-3d/1614/5 "2019-11-26T04:13:36Z")

</div>

Thank you! I will do that!

---

<div class="post-metadata">

### Author: ![banesullivan](https://discourse.vtk.org/user_avatar/discourse.vtk.org/banesullivan/32/7143_2.png) [@banesullivan](https://discourse.vtk.org/u/banesullivan)
#### Post date: [December 12, 2019, 5:59am UTC](https://discourse.vtk.org/t/convert-2d-ultrasound-image-to-3d/1614/6 "2019-12-12T05:59:57Z")

</div>

[PyVista](https://docs.pyvista.org) also makes the uber-easy:

```auto
import pyvista as pv
import numpy as np
from scipy import signal

# Make some arbitrary 3D array
g = signal.gaussian(100, std=20)
x, y, z = np.meshgrid(g,g,g)
vol = x * y * z

# Plot it with PyVista
pv.plot(vol, volume=True, opacity="sigmoid_5")

```

 ![download](https://discourse.vtk.org/uploads/default/original/2X/9/92b018a78e68225eba67babb06be9fe59c5da34c.jpeg)

Then of course, you can get fancy by making this an actual VTK dataset to set the spacing:

```auto
grid = pv.UniformGrid(vol.shape)
grid.spacing = (2,2,2)
grid["data"] = vol.ravel()
grid.plot(volume=True)

```
