python网格插值站点_在python中,在二维零网格上两点之间插值一条值线

TLDR:

在2d numpy数组中找到2个点后,如何在0数组中在它们之间插值一条1行?在

上下文:

目前我正在尝试从二值化的医学图像数据(0和1)对一个3d数组执行2d操作。最终目标是在填充体素/像素(即第一个和最后一个实例)的起点和终点之间添加一条1s的线。在

为此,我使用SimpleITK分割一行,然后将其转换为numpy数组。在其他示例之后,我编写了返回一组数组的函数,这些数组显示填充(1)个像素和空(0)个像素。在

从最早和最后一个实例中,我通过在所有点上加1来“填充”中间的点,然后用1替换2。我要做的是将这条线添加回2d数组,最终,添加回3d数组。在

我知道我有一个通过scipy.ndimage.map_坐标(np.转置(z) ,但我不知道如何将其应用于原始数组。在

在我看来,我可以简单地看到创建一个由0组成的2d数组,然后将其简单地添加到原来的2d数组中。尽管如此,我还是不知道如何将直线插值到二维数组中,然后再插值到三维数组中。想要先在二维环境下工作是因为这些阵列可以非常大。任何帮助都将不胜感激。在import numpy as np

import scipy

import matplotlib.pyplot as plt

import simpleITK as sitk

from timeit import default_timer as timer

#Functions used are shown below

#Read in a CT scan using SimpleITK

ctscan = sitk.ReadImage("example.mhd")

#Extract a slice along the Z axis (Simple ITK uses x, y, z indexing)

z = ctscan[:,:,150:151]

#Convert the slice to a numpy array, which is then z, y, x indexing

z = sitk.GetArrayFromImage(z)

#Drop the 3rd dimension to view in matplotlib

z = z[0, :, :]

plt.imshow(z)

#Get the

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值