- Notifications
You must be signed in to change notification settings - Fork16
Quanfima (Quantitative Analysis of Fibrous Materials)
License
NotificationsYou must be signed in to change notification settings
rshkarin/quanfima
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Quanfima (quantitativeanalysis offibrousmaterials)is a collection of useful functions for morphological analysis and visualizationof 2D/3D data from various areas of material science. The aim is to simplifythe analysis process by providing functionality for frequently required tasksin the same place.
More examples of usage you can find in the documentation.
- Analysis of fibrous structures by tensor-based method in 2D / 3D datasets.
- Estimation of structure diameters in 2D / 3D by a ray-casting method.
- Counting of particles in 2D / 3D datasets and providing a detailed report inpandas.DataFrame format.
- Calculation of porosity measure for each material in 2D / 3D datasets.
- Visualization in 2D / 3D using matplotlib, visvis packages.
The easiest way to install the latest version is by using pip:
$ pip install quanfima
You may also use Git to clone the repository and install it manually:
$ git clone https://github.com/rshkarin/quanfima.git$ cd quanfima$ python setup.py install
Open a grayscale image, perform segmentation, estimate porosity, analyze fiberorientation and diameters, and plot the results.
importnumpyasnpfromskimageimportio,filtersfromquanfimaimportmorphologyasmrphfromquanfimaimportvisualizationasvisfromquanfimaimportutilsimg=io.imread('../data/polymer_slice.tif')th_val=filters.threshold_otsu(img)img_seg= (img>th_val).astype(np.uint8)# estimate porositypr=mrph.calc_porosity(img_seg)fork,vinpr.items():print'Porosity ({}): {}'.format(k,v)# prepare data and analyze fibersdata,skeleton,skeleton_thick=utils.prepare_data(img_seg)cskel,fskel,omap,dmap,ovals,dvals= \mrph.estimate_fiber_properties(data,skeleton)# plot resultsvis.plot_orientation_map(omap,fskel,min_label=u'0°',max_label=u'180°',figsize=(10,10),name='2d_polymer',output_dir='/path/to/output/dir')vis.plot_diameter_map(dmap,cskel,figsize=(10,10),cmap='gist_rainbow',name='2d_polymer',output_dir='/path/to/output/dir')
>>Porosity (Material1):0.845488888889
About
Quanfima (Quantitative Analysis of Fibrous Materials)
Topics
Resources
License
Stars
Watchers
Forks
Packages0
No packages published