-
Notifications
You must be signed in to change notification settings - Fork 115
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to get extended_persistent_barcode? #45
Comments
Q1: This is a bug and thank you for the report. |
Let's come back to your failing code: st = gd.SimplexTree()#创建一个空的简单复合体。
for i in range(len(data_triangles)):
st.insert([v for v in data_triangles[i,:]], -10)
####can't feed the filtration value(the curv of every node)
####error message:Process finished with exit code -1073741819 (0xC0000005)
for i in range(len(data_vertices)):
st.assign_filtration([i], filtration = filteration_value[i]) You insert the vertices, then you re-assign the filtration value. You could do it in one step: for tri in data_triangles:
for v in tri:
st.insert([v], filteration_value[v]) |
Q2: You only added the vertices, you need to insert edges (maybe linked with your Q3: What pair of distances do I need to use to weight the edges? ). |
OK , thank you for you reply. If you get a solution, please htell me. |
Hello, I saw someone use Euclidean distance between two vertice in a edge. Can I use Hausdorff distance as pair distance? becuase I apply it into parcellation. Just I guess
…------------------ 原始邮件 ------------------
发件人: "GUDHI/TDA-tutorial" ***@***.***>;
发送时间: 2021年3月15日(星期一) 晚上6:27
***@***.***>;
***@***.******@***.***>;
主题: Re: [GUDHI/TDA-tutorial] How to get extended_persistent_barcode? (#45)
Q2: You only added the vertices, you need to insert edges (maybe linked with your Q3: What pair of distances do I need to use to weight the edges? ).
This implies dgms2 = st2.extended_persistence(min_persistence=1e-5) always returns [[], [], [], []].
And finally, plot_persistence_barcode and plot_persistence_diagram will fail. Thank you again for this bug report, our code should be more robust and display nothing (or throw an explicit exception) when an empty diagram is given as an input (cf. GUDHI/gudhi-devel#461 )
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
Hello, sorry to bother you again.
Q1: I have use brain cortical curv of each vertex as filteration value, but when i use the following code:
for i in range(len(data_vertices)):
st.assign_filtration([i], filtration = filteration_value[i])
#st.assign_filtration([0], filtration = filteration_value[0])#success!
#st.assign_filtration([0], filtration = filteration_value[i])#success!
error:Process finished with exit code -1073741819 (0xC0000005)
I have tried some solution, but it's doesn't work! I'm curious why filter values can only be fed one node at a time.
Q2: I add filter value manually
st.assign_filtration([0], filtration = filteration_value[0])
st.assign_filtration([1], filtration = filteration_value[1])
st.assign_filtration([2], filtration = filteration_value[2])
st.assign_filtration([3], filtration = filteration_value[3])
But you said use extended_persistence, I have use it, but :
st2 = gd.SimplexTree()
st2.extend_filtration()
dgms2 = st2.extended_persistence(min_persistence=1e-5)
gd.plot_persistence_barcode(dgms2)#IndexError: list index out of range
plt.show()
the error message:
IndexError: list index out of range
but when I use gd.plot_persistence_barcode(dgm),use ordinary persistent barcode, there's no problem. What code should I use to get the extended continuous bar code directly?
Q3: I've added filter values to each node. What pair of distances do I need to use to weight the edges?
Q4: Afetr I get the extended_persistent_barcode, How to get betti???
My datasets and codes are in:https://github.com/tanjia123456/Brain_area_PH/blob/main/compute_betti_gudhi3.py
The text was updated successfully, but these errors were encountered: