def in_hull_volume(network, geometry, fibre_rad, vox_len=1e-6, **kwargs):
    r"""
    Work out the voxels inside the convex hull of the voronoi vertices of each
    pore
    """
    Np = network.num_pores()
    geom_pores = geometry.map_pores(network, geometry.pores())
    volume = _sp.zeros(Np)
    pore_vox = _sp.zeros(Np, dtype=int)
    fibre_vox = _sp.zeros(Np, dtype=int)
    voxel = vox_len**3
    try:
        nbps = network.pores('boundary', mode='not')
    except __HOLE__:
        # Boundaries have not been generated
        nbps = network.pores()
    # Voxel length
    fibre_rad = np.around((fibre_rad-(vox_len/2))/vox_len, 0).astype(int)

    # Get the fibre image
    fibre_image = _get_fibre_image(network, geom_pores, vox_len, fibre_rad)
    # Save as private variables
    geometry._fibre_image = fibre_image
    hull_image = np.ones_like(fibre_image, dtype=np.uint16)*-1
    geometry._hull_image = hull_image
    for pore in nbps:
        logger.info("Processing Pore: "+str(pore+1)+" of "+str(len(nbps)))
        verts = np.asarray([i for i in network["pore.vert_index"][pore].values()])
        verts = np.asarray(misc.unique_list(np.around(verts, 6)))
        verts /= vox_len
        pore_vox[pore], fibre_vox[pore] = inhull(geometry, verts, pore)

    volume = pore_vox*voxel
    geometry["pore.fibre_voxels"] = fibre_vox[geom_pores]
    geometry["pore.pore_voxels"] = pore_vox[geom_pores]

    return volume[geom_pores]
dataset/ETHPy150Open PMEAL/OpenPNM/OpenPNM/Geometry/models/pore_volume.py/in_hull_volume