Replies: 4 comments 1 reply
-
Spheres and cylinders can cause problems if the pores are large and close together so they overlap too much. Try the cones and cylinders models. |
Beta Was this translation helpful? Give feedback.
-
Thank you for your response sir @jgostick . I reworked the example with a simple model composed of spherical pores connected by a throat. This model was artificially generated in porespy, with sphere diameters = 20 unit and cylinder radius =2. Unfortunately, when I run the pnm modelling on it, I get different values for the pores equivalent diameters( snow_output = ps.networks.snow2(im, voxel_size=1) |
Beta Was this translation helpful? Give feedback.
-
Hello sir, My script is the as follows, and the pnm1.tif is attached. I was unable to upload a tif file so I compressed it . im=imageio.volread('pnm1.tif') I get the following answers |
Beta Was this translation helpful? Give feedback.
-
I think I discovered the mistake which was in me generating the artificial images. |
Beta Was this translation helpful? Give feedback.
-
Hello community!
I have been using DragonFly software to do some PNM. In the documentation of DragonFly it is stated that the their PNM is based on OpenPNM, so I started using OpenPNM to get better ideas about the calculations involved. However, I am unable to reproduce the results, possibly due to me making mistakes as I am new to python. As you can see in Image 1 (produced in jupyter) the PNM seems complex with many pores, while the figure in dragonfly(image 2) is more simple with fewer spheres. Additionally, in dragonfly I am getting a max equivalent diameter of 48, while I get a max pore diameter in jupyter = infinity.
Can you please advise on where I am being wrong? I am attaching my code for reference.
im=imageio.volread('blobs.tiff')
snow_output = ps.networks.snow2(im, voxel_size=1)
pn = op.io.network_from_porespy(snow_output.network)
ax = op.visualization.plot_coordinates(pn)
ax = op.visualization.plot_connections(pn, ax=ax)
from pprint import pprint
mods=op.models.collections.geometry.spheres_and_cylinders
pprint(mods)
pn.add_model_collection(mods)
pn.regenerate_models()
print(pn)
np.max(pn['pore.diameter'])
Beta Was this translation helpful? Give feedback.
All reactions