多标签各向异性欧氏距离变换3d

edt的Python项目详细描述


mlaedt-3d的python说明

计算一维、二维或三维标记图像的欧几里德距离变换,该图像在单个过程中包含多个标签,并支持各向异性维度。

python安装

^ {EM1}$需要一个C++编译器

安装过程取决于从edt.pyx派生的python绑定的edt.cppedt.hpp包含算法实现。

pip install numpy
pip install edt

重新编译edt.pyx

^ {EM1}$需要Cython和C++编译器/P>

cd python
cython -3 --cplus edt.pyx # generates edt.cpp
python setup.py develop # compiles edt.cpp and edt.hpp # together into a shared binary e.g. edt.cpython-36m-x86_64-linux-gnu.so

python用法

导入后请查阅help(edt)。edt模块包含:edtedtsq,分别计算欧几里德距离和欧几里德距离的平方。这两个函数都根据馈送给它们的numpy数组的形状选择维度。支持1d、2d和3d卷。1D处理速度非常快。numpy布尔数组是专门为更快的处理而处理的。

如果出于某种原因您想使用特定的“d”函数,则可以使用edt1dedt1dsqedt2dedt2dsqedt3dedt3dsq

三个可选参数是anisotropyblack_borderorder。各向异性被用于校正体素空间中的畸变,例如,如果用显微镜获得X和Y,但Z轴被更紧密地切割。

black_border允许您指定在计算像素距离时应考虑图像的边缘(它也稍微快一些)。

order允许程序员确定应该如何解释底层数组。'C'(c顺序,xyz,row major)和'F'(fortran顺序,zyx,column major)受支持。'C'顺序是默认的。

parallel控制线程数。将其设置为<;=0以自动确定CPU计数。

importedtimportnumpyasnp# e.g. 6nm x 6nm x 30nm for the S1 dataset by Kasthuri et al., 2014labels=np.ones(shape=(512,512,512),dtype=np.uint32,order='F')dt=edt.edt(labels,anisotropy=(6,6,30),black_border=True,order='F',parallel=1)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
安卓中的java标签长点击问题   JavaSpringMVC多行表单提交提交新的ModelAttribute   程序来查找java程序中的方法数   在JSF中自动选择java下拉列表   java onNext为ArrayList的每个元素触发,而不是使用RXJava触发一次   为什么java不允许创建内部类的实例?   JavaJSF<p:calendar>小部件在选择不同月份时不会刷新   java如何限制JFileChooser只允许选择特定数量的文件?   java ANT build无法识别geckodriver可执行文件“驱动程序可执行文件不存在”   java TextView空指针异常   java试图在安卓中传递参数   如何将XML配置转换为Java   java支持使用JAXRPC的soap服务,但pom中没有定义它。xml   在Java中检查整个ArrayList