Hi all,
I was wondering if there is a clever way to extract the list of vertices
with a given value of a property or if you have to run a loop on the
vertices on build the list by hand (I searched on the documentation but did
not find it...).
Thanks,
F.
With filters, you can either directly select a boolean property or apply a
function. For example, if you have a property representing the temperature
of nodes, you can select all nodes above a specific value and so on.
# Setup your boolean property map, which should give you an empty array of zeros
v_mask = g.new_vertex_property('bool')
# Assign values to the mask property map array from another property map array
# In this case where a certain property map is <= to a value
# Note use of the .a to directly access the arrays -> shortcut for get_array() method
v_mask.a = v_propMap.a <= val
# Then activate your filter
g.set_vertex_filter(v_mask)
# Remember to de-activate prior to running other operations on the whole graph
g.set_vertex_filter(None)
# Remember to clear or recreate your mask prior to new assignments
# This is what I use -> requires 'import numpy'
v_mask.a = numpy.zeros_like(v_mask.a)
There may be other methods that work better, but this has so far worked nicely for me.
Gareth