plot.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:circletracking 作者: caspervdw 项目源码 文件源码
def annotate_ellipsoid(params, axs=None, crop_radius=1.2, **kwargs):
    """Annotates an ellipse on an image

    Parameters
    ----------
    params : tuple or dict
        either (zr, yr, xr, zc, yc, xc) tuple
        or dict with names ['zr', 'yr', 'xr', 'zc', 'yc', 'xc']
    """
    from matplotlib.patches import Ellipse
    ellipse_style = dict(ec='yellow', fill=False)
    ellipse_style.update(kwargs)
    ax_xy, ax_zy, ax_zx, ax_extra = axs

    if isinstance(params, tuple):
        zr, yr, xr, zc, yc, xc = params
    else:
        zr = params['zr']
        yr = params['yr']
        xr = params['xr']
        zc = params['zc']
        yc = params['yc']
        xc = params['xc']

    ax_xy.add_artist(Ellipse(xy=(xc, yc), width=xr*2, height=yr*2,
                             **ellipse_style))
    ax_zy.add_artist(Ellipse(xy=(zc, yc), width=zr*2, height=yr*2,
                             **ellipse_style))
    ax_zx.add_artist(Ellipse(xy=(xc, zc), width=xr*2, height=zr*2,
                             **ellipse_style))

    # crop image around ellipse
    ax_xy.set_xlim(xc - crop_radius * xr, xc + crop_radius * xr)
    ax_xy.set_ylim(yc - crop_radius * yr, yc + crop_radius * yr)
    ax_zy.set_xlim(zc - crop_radius * zr, zc + crop_radius * zr)
    return axs
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号