GIBBON

授权协议 AGPL-3.0 License
开发语言
所属分类 应用工具、 科研计算工具
软件类型 开源软件
地区 不详
投 递 者 有睿
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Cite GIBBON:

License:

Join chat:

Table of contents

Project summary

GIBBON (The Geometry and Image-Based Bioengineering add-ON) is an open-source MATLAB toolbox, which includes an array of image and geometry visualization and processing tools and is interfaced with free open source software such as TetGen, for robust tetrahedral meshing, and FEBio for finite element analysis. The combination provides a highly flexible image-based modelling environment and enables advanced inverse finite element analysis.

Application highlights

Segmentation

GIBBON offers image filtering and smoothing methods, and has a graphical user interface for 3D image segmentation (HELP_imx.m). The segmented image data can be converted to 3D surface models (DEMO_imx_levelset_surface_compare) which can be meshed for FEA (HELP_runTetGen).

Computer Aided Design (CAD) tools

Using GIBBON, geometry can be imported from common mesh based CAD files (such as STL, HELP_import_STL). For generating geometries within MATLAB®, GIBBON also provides several CAD-style commands such as polygon rounding (HELP_filletCurve), revolution (HELP_polyRevolve), extrusion (HELP_polyExtrude), and sweeping and lofting (HELP_polyLoftLinear and HELP_sweepLoft). Simple geometries such as spheres (HELP_geoSphere), boxes (HELP_quadBox), platonic solids (HELP_platonic_solid), and rhombic dodecahedra (HELP_rhombicDodecahedron) can also be directly created using GIBBON.

Surface meshing tools

2D multi-region triangular meshing (e.g. HELP_regionTriMesh2D and HELP_multiRegionTriMeshUneven2D), resampling meshes geodesically (DEMO_geodesic_remeshing), smoothing (DEMO_surface_smooth_methods), and surface mesh refinement (e.g. HELP_subtri, HELP_subTriDual and HELP_subQuad), mesh type conversions (e.g. HELP_tri2quad, HELP_quad2tri), and mesh dual computation (HELP_patch_dual). Geometries can also be exported to the STL format e.g. for computer aided manufacture and 3D printing.

Volumetric meshing

Tetrahedral meshing (and constrained Delaunay tessellation) of multi-region domains is enabled through an interface with the TetGen package (HELP_runTetGen and HELP_constrainedDelaunayTetGen). Hexahedral meshes for some geometry types can be directly coded (e.g. spheres HELP_hexMeshSphere, boxes HELP_hexMeshBox and lattices HELP_element2HexLattice). For general input surfaces multi-region mixed tetrahedral-hexahedral meshing is also available (e.g. DEMO_MixedTetHexMeshing).

Lattice structures

One method to generate surface geometry for lattices is the use of triply-periodic functions (HELP_triplyPeriodicMinimal). Functions to convert element descriptions, such as tetrahedral and hexahedral elements, to lattice structures have also been implemented (HELP_element2lattice and HELP_element2HexLattice). These allow for the creation of 3D boundary conforming lattice structures on arbitrary input geometry. Exporting of hexahedral elements is also supported allowing for FEA on the created lattice structures (DEMO_febio_0026_hexlattice_compression).

Finite Element Analysis

For finite element analysis GIBBON currently links with either the free and open source software FEBio or with Simulia ABAQUS. Both the FEBio and ABAQUS interface is based on MATLAB® structures. The image below shows the coding of a material section in a MATLAB® structure (top row) and how these components are represented in the input files for FEBio or ABAQUS (bottom row). Through this structure to input file conversion process any FEBio or ABAQUS functionality can be directly coded in MATLAB®.

FEBio

GIBBON can be used as a pre- and post- processor for FEBio as it enables code-based development of meshes, boundary conditions, and input files. FEBio files can be directly exported based on dedicated MATLAB® structures (HELP_febioStruct2xml). Furthermore, GIBBON can be used to start and control FEBio simulations. As such, iterative and inverse FEA (e.g. based on MATLAB® optimization routines) is also enabled. All DEMO_febio_... files are FEBio demos, e.g. DEMO_febio_0001_cube_uniaxial is a simple uniaxial loading example, and DEMO_febio_0042_inverse_FEA_cube_uniaxial is an example of inverse FEA.
The image below is for large strain analysis of a twisting bar and stems from the demo DEMO_febio_0004_beam_twist. Other demos cover tension, compression, shear, applied forces, applied pressures, applied displacements, bending, poroelasticity, dynamic and viscoelastic analysis, contact and indentation problems, multi-generational materials for pre-load analysis.

Abaqus

The interface for ABAQUS is a recent development. Users can look at HELP_abaqusStruct2inp to study how input files are coded. The demo DEMO_abaqus_0001_cube_uniaxial is for uniaxial loading of a cube and steps through geometry creation, setting up the ABAQUS structure, saving the .inp file, running the job, and importing the results for visualization. Data is imported into MATLAB® using importAbaqusDat which parses ABAQUS .DAT files.

Visualization

GIBBON expands the standard MATLAB® visualization capabilities by adding 3D image and voxel visualization (HELP_im2patch and HELP_sliceViewer), meshed geometries (HELP_gpatch and HELP_meshView), finite element models (HELP_element2patch), and colormapped vector data (HELP_quiverVec), and all visualization methods enable multiple colormaps to be used in each figure or axis window. Furthermore GIBBON offers a custom figure window cFigure containing 3D rotation options (HELP_vcw) that mimic CAD behavior of 3D scene rendering, and high quality figure exporting options (HELP_efw). Advanced graphics animation creation and exporting capabilities through a figure window based GUI are also enabled (HELP_anim8).

Installation

Summary

  1. Download GIBBON
  2. Just run: installGibbon.m (found in GIBBON's main folder) and provide a link to where FEBio is installed during installation

More detailed installation instructions

The steps below guide you through a streamlined installation procedure using the installGibbon.m function*.

*If you prefer manual installation do the following: 1) Add the GIBBON folder (with subfolders) to the path and save the path definitions, 2) Run createHelpDemoDocumentation.m to integrate the help and documentation, 3) For the 3rd party packages: Go to the config folder in ../GIBBON/config and edit the FEBioPath.txt file to contain the full path to the FEBio executable

1. Get a copy of GIBBON

To use GIBBON you need to create a copy on a local directory on your machine. Obtain a copy by downloading and unzipping the latest zip file or clone GIBBON instead e.g. using: git clone https://github.com/gibbonCode/GIBBON.git. You can place the GIBBON folder anywhere on your machine, however, MATLAB (and the 3rd party packages listed below) may have file permission limitations for some locations which you may need to address*.

* For instance, some of GIBBON's features, such as those associated with TetGen and FEBio, regularly create and delete temporary files. As such MATLAB (and the 3rd party packes) should have full permissions for these folders. First of all users should make sure MATLAB has full (e.g. read/write/delete) permissions for the entire GIBBON folder (and its sub-folders). On some platforms the 3rd party packages require special treatment. For instance some OSX users have found it necessary to give tetGen or FEBio particular file permissions. For instance in the case of TetGen related features using git update-index --chmod=+x path/to/tetgen.

2. Setting up 3rd party packages

Below is a list of 3rd party packages that are required for full functionality. All all included with GIBBON except for FEBio which users need to download and install. You may skip FEBio installation if finite element analysis (with FEBio) is not desired.

Package Description Included? Download
FEBio
FEBio is a finite element solver and is used in GIBBON for all finite element analysis. Use of FEBio is featured in the many DEMO_FEBio... files. FEBio version 2.5.0 or newer is recommended. No FEBio website
export_fig
export_fig helps to export publication quality images (e.g. .png, .jpg, .pdf, .eps), in GIBBON it is integrated in the export figure widget efw to export such images from the cFigure window directly. export_fig is also used for exporting images for creation of .gif animations with the GIBBON anim8 function. Yes export_fig page on GitHub
TetGen
Is used for tetrahedral meshing (and possibly constrained 3D Delaunay tessellation). See for instance HELP_runTetGen.m. Yes For other versions: TetGen website

2. Install GIBBON

By running installGibbon.m the GIBBON, FEBio, and export_fig path definitions will be added and saved to MATLAB. The help and documentation will also be integrated. Once finished you will be asked to restart MATLAB. installGibbon.m can be found in the main GIBBON folder.

Getting started

Access the integrated help

  • To access the help documentation from MATLAB simply type: gdoc which will open the GIBBON documentation page in MATLAB's help brower. The documentation which is searchable and integrated just like the rest of MATLAB's help and documentation. You can also find this page manually under Supplemental Software as shown below.
  • To open GIBBON documentation for a particular function can use gdoc <functionName> (similar to MATLAB's doc function). For instance for help on im2patch use gdoc im2patch. This will search the integrated help for im2patch and display the results.

Where to find functions and the executable help and demo files

  • The lib folder contains all GIBBON's functions.

  • The lib_ext folder contains external functions and libraries developed by others.

  • The docs folder contains the help & documentation files, and demo files which when "published" (using MATLAB's publish functionality) create the .html documentation files (found in docs/html) which are integrated in MATLAB.

  • The source for the help information for any function functionName is named HELP_functionName, and  the source for demos have DEMO_ as part of the name. Therefore if one is interested in reproducing or starting off from codes in the help and documentation simply start typing code names starting in HELP_ or DEMO_ in the MATLAB command window, e.g. HELP_ind2patch can be used to generate the help information for the ind2patch function. Users can start editing the file by typing open HELP_ind2patch in the command window. By publishing (use gpublish <HELP_functionName>) the HELP_ or DEMO_ files .html files are created in the docs\html folder. As such if users alter or contribute code in the lib folder and generate associated HELP_ or DEMO_ files, new help and documentation is then added and rendered on the website. For new help and documentation to become integrated in MATLAB run the createHelpDemoDocumentation function and restart MATLAB.

  • Many of the DEMO_ files focus on the use of FEBio. The demo DEMO_febio_0001_cube_uniaxial for instance features a simple cube subjected to a uniaxial load. Other demos focus on different load types, single versus multi-step analysis, different materials and inverse analysis (e.g. DEMO_febio_0042_inverse_FEA_cube_uniaxial).

Testing

GIBBON's core functionality can be tested by running testGibbon('all','test');. Use testGibbon('demo','test'); or testGibbon('help','test'); for running the demo or help files only.
GIBBON is currently developed and tested using the most recent version of MATLAB (or the latest pre-release) and has been tested on Windows 10, Ubuntu 20.04, and Mac OS. Most of GIBBON's functionality is compatible with older MATLAB versions, especially MATLAB R2014a and newer (Delaunay tessellation and toolbox help integration are among things that have undergone large changes). Please inform the developers (or open an issue) if a particular function does not work for your MATLAB environment. It is likely that codes can be easily altered to work for your version.
A large portion of GIBBON's functionality does not rely on special MATLAB toolboxes. However some functions do. Here is a list of toolboxes which appear to be used in GIBBON:

  • Image Processing Toolbox
  • Statistics and Machine Learning Toolbox
  • Symbolic Math Toolbox
  • Curve Fitting Toolbox
  • Parallel Computing Toolbox

License

GIBBON is provided under:. The license file is found on the GitHub repository.

Citing GIBBON

If you use GIBBON in your work you should cite the following paper:

Moerman, (2018). GIBBON: The Geometry and Image-Based Bioengineering add-On. Journal of Open Source Software, 3(22), 506, https://doi.org/10.21105/joss.00506

Contributing

We'd love for you to contribute to GIBBON or even to join the development team! We welcome all sorts of contributions including technical content, documentation developments, or website improvements. Please read our contributing guidelines.

You can also ask questions and learn more about contributing via Gitter chat:

Code of conduct

See CODE_OF_CONDUCT

Roadmap

See ROADMAP

  • 修改源并更新你的ubuntu 不同的网络状况连接以下源的速度不同。建议在添加前手动验证以下源的连接速度(ping下就行)。比如说北京网通用户连接 cn99就非常慢,而ftp.sjtu.edu.cn是相对较快的源。选择最快的源可大大节省下载时间,请根据自己网络环境设置更新服务器,以达到最快的 速度。 注意,你可以同时加入几个源。尽量选择一组官方的源(也就是下面的Archive.ubuntu.com的

  • 入侵检测:Snort,Base,MySQL和Apache2在Ubuntu 7.10(Gutsy Gibbon) 在本教程中,我将介绍如何从Ubuntu 7.10(Gutsy Gibbon)上的源,BASE(基本分析和安全引擎),MySQL和Apache2安装和配置Snort(入侵检测系统(IDS))。 Snort将帮助您监控网络并提醒您有关可能的威胁。 Snort将其日志文件输出到BASE将用于在

  • Media change: please insert the disc labeled ‘Ubuntu 7.10 _Gutsy Gibbon_ - Release i386 (20770716) I was trying to install VMWare Server on Ubuntu Gutsy Gibbon (7.10) yesterday and I came across this

  • All the required packages are available in the Ubuntu repositories. Installing Subversion Use apt-get: sudo apt-get update sudo apt-get install subversion Creating a Repository Let's say you want your

  •   推荐试用Ubuntu 7.10 (gutsy gibbon) 2007年10月18日,无畏的长臂猿 - Ubuntu 7.10 Gutsy Gibbon终于正式发布了! 和7.04相比,多了内建的Compiz Fusion、2.20版本的GNOME、NTFS的写入、更好的Desktop Search,更多更新的硬件支持...... 如此多诱人的特性,还犹豫什么,赶快去下载吧! from: ht

  • How To Set Up Oracle ASM on Ubuntu Gutsy Gibbon By Grégory Guillou — February 7th, 2008 at 1:06 pm Posted in Group Blog Posts • Oracle Tags: ASM • Gutsy Gibbon • Linux • Oracle • Oracle 11g • raw devi

  • Ubuntu 7.10(Gutsy Gibbon) 配置 A. 启动设置简介 1. GRUB配置文件/boot/grub/menu.lst, 修改前备份. 2. 一些内核参数 Parameter Function splash boot with a startup image quiet keep boot message from displaying vga=xxx setup consol

  • Ubuntu 7.10(Gutsy Gibbon) Setup A. A very simple Boot Setup 1. Open GRUB configuration file, /boot/grub/menu.lst. Remember take a backup before change. 2. Some kernel arguments in menu.lst Parameter F

  • # Sweener's Ubuntu Gutsy Gibbon 7.10 Sources list # # Repository List based on standard gutsy with many extra packages # # If you get errors about missing keys, lookup the key in this file # and run t

  • 前段时间工作比较忙,想来Gusty Gibbon也已经出来2个月了,还没来得及好好把玩,这周终于有点时间和精力把它下载下来安装到本本上。 这个版本用下来最直接的感受有两点: 1- 默认的中文字体支持更好了,一方面字体的处理更加协调一致,不像之前默认时经常中文字符一大一小的,默认采用英文字体时对中文的显示也做的不错。 2- Compiz和Beryl复和之后,成了Ubuntu新的标配,省得大家费力折腾

  • Ubuntu 7.10 Gutsy Gibbon安装配置 http://hi.baidu.com/wangdaoyu/blog/item/bbc3c4139d7d5d065baf537e.html ubuntu 7.10雅黑字体美化教程 http://linux.blogbus.com/logs/13850718.html Ubuntu下轻松安装FCITX输入法 http://www.linuxi

  • http://arstechnica.com/news.ars/post/20070620-plans-for-ubuntu-7-10-gutsy-gibbon-revealed.html it is not the news now. Development plans for Ubuntu 7.10 (codenamed Gutsy Gibbon) were announced last ni

  • 转贴自:http://www.linuxidc.com/Linux/2007-06/5392.htm    Ubuntu 7.10 (开发代号 Gutsy Gibbon)的发布计划在昨晚通过邮件列表发送给了订阅成员,这一版本将在今年10月末左右发布,官方宣布将在今年10月18号发布,该版本可能包含Beryl/Compiz合并后的全新窗口管理器.   Gutsy Gibbon将包含Linux ker

  • 现在已经可以申请Ubuntu 7.10的光盘邮购啦。嘿嘿,默认选项里盘的个数是一年比一年少啊,今年的三个选项,一张PC,一张64位PC,两张PC。呵呵,我选了两张。虽然我到发布时还会第一时间自己刻录至少一张,但还是申请了光盘邮购,当然,还是会像上次那样去送人滴,因为觉得用美国寄来滴CD能将Ubuntu推广的更加有效。 BETA版都出来了一段时间了,我依然没有尝鲜,反正好有几天就release了。没

相关阅读

相关文章

相关问答

相关文档