/IntussusceptionAddon

A Blender add-on to parametrically generate bifurcating vascular networks

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Intussusception Add-on for Blender

Authored by Saarang Panchavati, Miller Lab, Rice University, July 2016 | Advisor: Jordan Miller

A Blender add-on for generating Intussusception fractal vasculature for 3D printing and computational fluid dynamics simulations and modeling.

Vascular networks designed with this add-on are featured in our Nature BME paper on laser-sintered carbohydrate templates for patterning complex tissue architecture.

MillerLab logo

Overview

Intussusception is the natural process by which one blood vessel splits into two. This add-on is an attempt to model this process in order to create functional positive flow models for 3D vascular networks. We create fractal vasculature by starting with a single tube and sequentially, dichotomously dividing all available tubes with each fractal generation.

Currently, this add-on allows the user to adjust the following parameters:

Print-ready scaling, length, angle, number of divisions, reduction in branching distance, inlet/outlet, bounding box, narrowing, space filling, skin radius, and Murray’s Law implementation.

Documentation

This git repository includes: The python file for the add-on, and explanatory videos.

The tutorial videos below were taken in Blender 2.77a. We provide an updated version for Blender 2.8x as well as the legacy version for Blender 2.7x.

Installation/Usage Instructions

  1. First ensure you have downloaded and and installed the latest version of Blender. This add-on was originally developed and tested with Blender 2.77a, then upgraded for the new Blender 2.8x Python API.

  2. Download this repository: https://github.com/MillerLabFTW/IntussusceptionAddon/archive/master.zip

  3. Unzip the repository. You should find the required IntusAddon.py inside.

  4. In Blender, navigate to User Preferences > Add-ons > Install from File and find and select the IntusAddon.py file in this repository and activate it. If you are using Blender 2.7x, use the file IntusAddon_b2.7x.py. Screenshots:

UserPrefs UserPrefs UserPrefs

  1. Ensure it is checked in the add-on menu - It will be called Add Mesh: Intussusception

UserPrefs

  1. To use the add-on, in the 3D view window, type <spacebar> in the Blender Window and search for Intussusception in the pop-up.

UserPrefs

  1. You can adjust all the controls described above under Overview. To see what they will do, watch the video Intus-Addon-Display located in the PicsVids folder of this repository.

UserPrefs

Overview of Parameters

Divisions - Number of times the model divides

UserPrefs

Length - Adjusts length of the model

UserPrefs

Angle - Adjusts angle of initial branching

UserPrefs

Reduction - Adjusts amount by which the distance between branches decreases each division

UserPrefs

Inlet/Outlet - Adds inlet and outlet to model

UserPrefs

Bounding Box - Adds bounding box to model

UserPrefs

Print Ready - Adjusts model and bounding box scaling to 34x14x11 dimensions

UserPrefs

2D Model - Collapses Intussusception to 2 Dimensions

UserPrefs

Narrow - Moves back initial vertices to compact model, allowing minimal volume to be consumed by vasculature.

UserPrefs

Spacefilling - Moves groups of branches to be more space filling. Only works when Narrow is on.

UserPrefs

Skin Radius - Adjusts the radius of the skin modifier on all vertices

UserPrefs

Murray’s Law

Murray’s Law describes the relationship between a parent branch and its daughter branches wherein: r3p = rd13+ rd23 + … + rdn3

Murray’s Exponent - Varies the exponent for Murray’s Law, which is generally 3

Equal Murray’s Law - Applies Murray’s Law on the model, assuming that all daughter branches have the same radius

UserPrefs

Random Murray’s Law - Applies Murray’s Law on the model, but allows daughter branches to be of varying diameter

UserPrefs

Acknowledgements

MillerLab logo