SHAPE: SHape Analyser for Particle Engineering

버전 2021.08 (41.9 MB) 작성자: Vasileios Angelidakis
Morphological characterisation and simplification of three-dimensional particle geometries
다운로드 수: 279
업데이트 날짜: 2022/3/3

SHape Analyser for Particle Engineering

GitHub last commit GitHub issues GitHub pull requests License GitHub tweet

What SHAPE doesArchitectural featuresFile treeSimple exampleCreditsBYOSAcknowledging SHAPE


What SHAPE does

SHAPE implements morphological characterisation of three-dimensional particles from imaging data, such as point clouds, surface and tetrahedral meshes or segmented voxelated images (derived using Computed Tomography). Characterisation of morphology is performed for all three aspects of shape, namely form, roundness and surface texture (roughness). The code also supports shape simplification, using edge-collapse techniques, to reduce the number of triangular faces of each particle to user-defined fidelity levels. The particle shapes can be exported to several formats, compatible with various FEA and DEM solvers.

Architectural features

SHAPE is built using an object-oriented architecture, where each particle has the following set of attributes:

-Particle % e.g. 1, 2, 3, etc.
  -Particle_type % e.g. Original, Convex_hull, Face_No_100, Face_No_50, etc.
    -Mesh % Surface_mesh, Tetrahedral_mesh, Voxelated_image, Surface_texture
    -Auxiliary_geometries % AABB, OBB, Fitted_ellipsoid, Minimal_bounding_sphere, Maximal_inscribed_sphere
    -Geometrical_features % Volume, Centroid, Surface_area, Current_inertia_tensor, Principal_inertia_tensor, Principal_orientations
    -Morphological_features % Form, Roundness, Roughness

File tree

Simple example

This example demonstrates different ways to define Particle objects and characterise their morphology.

addpath(genpath('functions'));	% Load in-house functions
addpath(genpath('lib'));	% Load external functions (dependencies)
addpath(genpath('classes'));	% Load object-oriented architecture

% Define particle from Point Cloud
p1=Particle(P,[],[],[],options); % P (Nv x 3): List of Vertices; options (struct): options for shape characterisation and/or simplification

% Define particle from Surface/Tetrahedral Mesh and Texture profile
p2=Particle(P,F,[],Texture,options); % P (Nv x 3): List of Vertices; F (Nf x 3) or (Nf x 4): List of Faces/Elements; Texture (Nx x Ny): Planar roughness profile

% Define particle from voxelated (volumetric) image
p3=Particle([],[],Vox,[],options); % Vox.img (Nx x Ny x Nz): Segmented voxelated (3-D) image of particle geometry;

New users are advised to start from running the available examples, to get familiarised with the syntax and functionalities of SHAPE.

Credits

SHAPE uses several external functions available within the Matlab FEX community. We want to acknowledge the work of the following contributions, for making our lives easier:

These external dependencies are added within the source code of SHAPE, to provide an out-of-the-box implementation. The licensing terms of each external dependency can be found inside the lib folder.

BYOS (Bring Your Own Scripts)!

If you enjoy using SHAPE and you are interested in shape characterisation, you are welcome to ask for the implementation of new morphological descriptors and features or even better contribute and share your implementations. SHAPE was created out of our excitement and curiosity around the characterisation of irregular particle morphologies and we share this tool hoping that members of the community will find it useful. So, feel free to expand the code, propose improvements and report issues.

Acknowledging SHAPE

Angelidakis, V., Nadimi, S. and Utili, S., 2021. SHape Analyser for Particle Engineering (SHAPE): Seamless characterisation and simplification of particle morphology from imaging data. Computer Physics Communications 265, p.107983.

Download BibTeX entry

2021 © Vasileios Angelidakis, Sadegh Nadimi, Stefano Utili. Newcastle University, UK

인용 양식

Angelidakis, Vasileios, et al. “SHape Analyser for Particle Engineering (SHAPE): Seamless Characterisation and Simplification of Particle Morphology from Imaging Data.” Computer Physics Communications, vol. 265, Elsevier BV, Aug. 2021, p. 107983, doi:10.1016/j.cpc.2021.107983.

양식 더 보기
MATLAB 릴리스 호환 정보
개발 환경: R2020b
모든 릴리스와 호환
플랫폼 호환성
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

classes

examples

functions

functions/Auxiliary_geometries

functions/Form

functions/Geometry

functions/Roughness

functions/Visualisation

lib/Bounding_spheres_and_circles

lib/Bounding_spheres_and_circles/Auxiliary

lib/MyCrust

lib/ellipsoid_fit

lib/iso2mesh

lib/iso2mesh/sample

lib/minboundbox

lib/stlTools

GitHub 디폴트 브랜치를 사용하는 버전은 다운로드할 수 없음

버전 게시됨 릴리스 정보
2021.08

Basic debugging tasks.

2020.08

이 GitHub 애드온의 문제를 보거나 보고하려면 GitHub 리포지토리로 가십시오.
이 GitHub 애드온의 문제를 보거나 보고하려면 GitHub 리포지토리로 가십시오.