官术网_书友最值得收藏!

Loading and visualizing a 3D image

The 3D ShapeNets dataset contains Computer-aided design (CAD) models of different object categories, which are in the .mat file format. We will convert these .mat files to NumPy ndarrays. We will also visualize a 3D image to get a visual understanding of the dataset.

Execute the following code to load a 3D image from a .mat file:

  1. Use the loadmat() function from scipy to retrieve the voxels. The code is as follows:
import scipy.io as io
voxels = io.loadmat("path to .mat file")['instance']
  1. The shape of the loaded 3D image is 30x30x30. Our network requires images of shape 64x64x64. We will use NumPy's pad() method to increase the size of the 3D image to 32x32x32:
import numpy as np
voxels = np.pad(voxels, (1, 1), 'constant', constant_values=(0, 0))

The pad() method takes four parameters, which are the ndarray of the actual voxels, the number of values that need to be padded to the edges of each axes, the mode values (constant), and the constant_values that are to be padded. 

  1. Then, use the zoom() function from the scipy.ndimage module to convert the 3D image to a 3D image with dimensions of 64x64x64
import scipy.ndimage as nd
voxels = nd.zoom(voxels, (2, 2, 2), mode='constant', order=0)

Our network requires images to be shaped 64x64x64, which is why we converted our 3D images to this shape.

主站蜘蛛池模板: 本溪| 敖汉旗| 海伦市| 霞浦县| 阜城县| 新宁县| 盘锦市| 织金县| 舒兰市| 广水市| 麻阳| 高密市| 聂拉木县| 桐柏县| 镇巴县| 隆化县| 哈密市| 垣曲县| 济南市| 金门县| 黔西县| 遂溪县| 望城县| 星子县| 延吉市| 德州市| 安徽省| 晋中市| 玉屏| 惠水县| 曲松县| 舟山市| 图木舒克市| 昌黎县| 贵德县| 定日县| 乐平市| 隆林| 郴州市| 朔州市| 崇左市|