unit cell characterization, representation, and assembly of 3d porous scaffolds connie gomez, m....
TRANSCRIPT
Unit Cell Characterization, Unit Cell Characterization, Representation, and Representation, and
Assembly of 3D Porous Assembly of 3D Porous ScaffoldsScaffolds
Connie Gomez, M. Fatih Demirci, Craig Connie Gomez, M. Fatih Demirci, Craig SchroederSchroeder
Drexel UniversityDrexel University
4/19/054/19/05
OutlineOutline
Overview of ProjectOverview of Project Earth Mover’s Distance (EMD)Earth Mover’s Distance (EMD) SummarySummary
Problem StatementProblem Statement Develop a framework to assemble Develop a framework to assemble
biocompatible unit cell structures that biocompatible unit cell structures that mimic tissue properties to serve as a mimic tissue properties to serve as a scaffold.scaffold.
Unit Cell Structures
?
Overview of ApproachOverview of Approach
Compare Unit Cells from Library to the
current scaffold
Initial Assembly
Using a Given/Reference: Unit Cell(s) based on
Application
Heterogeneous Scaffold and Implant
Design
Preprocessing
Unit Cell Characterization
Application Requirements
Given Cell Library
Growing the Scaffold+
Unit Cell Rotation+
Scaffold Analysis and Property Update
Unit Cell AssemblyUnit Cell Assembly
Framework to provide a structural Framework to provide a structural and/or contour connectivity between and/or contour connectivity between unit cells unit cells
The goal:The goal: To develop an approach that will To develop an approach that will
assemble characterized unit cell assemble characterized unit cell structures into a larger heterogeneous structures into a larger heterogeneous scaffoldscaffold
AssemblyAssembly Given the volume (anatomical geometry)Given the volume (anatomical geometry) Bottom Up ApproachBottom Up Approach
Starts from a unit cell at a given location Starts from a unit cell at a given location within the volume with only a primary within the volume with only a primary directiondirection
Top Down ApproachTop Down Approach Starts with two unit cells and a path to Starts with two unit cells and a path to
optimize.optimize.
OutlineOutline
Overview of ProjectOverview of Project Earth Mover’s Distance (EMD)Earth Mover’s Distance (EMD) SummarySummary
Earth Mover’s Distance Earth Mover’s Distance (EMD)(EMD)
Measure of dissimilarity between two Measure of dissimilarity between two sets of elementssets of elements
How much “work” is required to turn How much “work” is required to turn the first set into the second setthe first set into the second set
Known to be suitable in other Known to be suitable in other domainsdomains E.g., OptimizationE.g., Optimization
Motivating ProblemMotivating Problem Ensure optimal Ensure optimal
alignment between alignment between two unit cellstwo unit cells Optimization based on Optimization based on
applicationapplication One unit cell is sourceOne unit cell is source Other is destinationOther is destination Velocity in terms of Velocity in terms of
EMDEMD
SourceUnit Cell 1
DestinationUnit Cell 2
Computing EMDComputing EMD
EMD can be expressed in terms of EMD can be expressed in terms of the transportation problemthe transportation problem Source (elements of skeleton Source (elements of skeleton
characterizing void of one skeleton)characterizing void of one skeleton) Destination (elements of skeleton)Destination (elements of skeleton) Transport “properties” from one Transport “properties” from one
skeleton to the otherskeleton to the other
SourceUnit Cell 1
DestinationUnit Cell 2
Earth Mover’s Distance Earth Mover’s Distance (EMD)(EMD)
EMD is givenEMD is given Two skeletons, with their properties and geometryTwo skeletons, with their properties and geometry A function to determine how dissimilar two A function to determine how dissimilar two
skeleton points areskeleton points are Taking into account geometryTaking into account geometry Called Called ground distanceground distance Eg, Euclidean distance between the skeleton pointsEg, Euclidean distance between the skeleton points
EMD’s goalEMD’s goal A measure of how dissimilar the two skeletons areA measure of how dissimilar the two skeletons are Optimal rotation of skeletonsOptimal rotation of skeletons
(and therefore unit cells)(and therefore unit cells)
Example Property: VelocityExample Property: Velocity Property: velocityProperty: velocity
Speed of flow at any pointSpeed of flow at any point Skeleton points hold the average flow Skeleton points hold the average flow
for the areas surrounding themfor the areas surrounding them
r=6.7
Velocity in Terms of EMDVelocity in Terms of EMD
At skeleton points on the boundary, At skeleton points on the boundary, the velocity is a component of fluxthe velocity is a component of flux
EMD pairs up skeleton points in one EMD pairs up skeleton points in one unit cell with skeleton points in the unit cell with skeleton points in the otherother Flow can pass across the boundary Flow can pass across the boundary
between thembetween them EMD favors closer matches, thus EMD favors closer matches, thus
improving connectionsimproving connections
Total Flow and EMDTotal Flow and EMD
The total velocity of one skeleton The total velocity of one skeleton boundary is entirely matched with the boundary is entirely matched with the other skeleton boundary other skeleton boundary The maximum amount of flow for one of the The maximum amount of flow for one of the
two unit cells is computedtwo unit cells is computed The total flow is limited by the amount either The total flow is limited by the amount either
unit cell can transmitunit cell can transmit Flow can be divided upFlow can be divided up
The flow out of one skeleton point may enter The flow out of one skeleton point may enter the other unit cell through multiple skeleton the other unit cell through multiple skeleton pointspoints
Scope of ProblemScope of Problem
Skeletons instead of exact Skeletons instead of exact representationrepresentation Reduced complexity of operationsReduced complexity of operations Averaging – loses informationAveraging – loses information
EMD UsageEMD Usage
An association between two skeleton pointsAn association between two skeleton points A dissimilarity: GroundDistance(A, B)A dissimilarity: GroundDistance(A, B) An amount of property being associated: aAn amount of property being associated: a Cost of the association: GroundDistance(A, B) * aCost of the association: GroundDistance(A, B) * a
An alignment between two skeletonsAn alignment between two skeletons A set of associations between skeleton pointsA set of associations between skeleton points All of the property of skeleton has been All of the property of skeleton has been
associated with skeleton points from the other associated with skeleton points from the other skeletonskeleton
Total cost of alignment is minimalTotal cost of alignment is minimal
6.49
8.203.65
4.46
(68.0, 82.2)
(80.7, 80.0)
(57.7, 80.0)
(76.9, 76.0)
(64.0, 80.0)
54
45
46
52
55
(76.9, 76.0) (64.0, 80.0) 13.413.499
8.208.20 110.5110.555
(57.7, 80.0) (64.0, 80.0) 6.316.31 3.653.65 23.0523.05
(57.7, 80.0) (68.0, 82.2) 10.510.566
4.464.46 47.0447.04
(80.7, 80.0)
(68.0, 82.2)
6.4912.93
83.93
Point 1Point 1 Point 2Point 2 DistDist AttrAttr ContributiContributionon
Attributes and WorkAttributes and Work Each arrow Each arrow
represents an represents an association association between between skeleton pointsskeleton points
Total attribute Total attribute amount for a amount for a set of skeleton set of skeleton points is points is divided among divided among the arrows the arrows attached to attached to them (*)them (*)
* Remember that one skeleton is not entirely matched.
Not One-to-One: Multiple Not One-to-One: Multiple MatchesMatches
Some points Some points have multiple have multiple arrows arrows touching touching themthem These points These points
have more of have more of the attribute the attribute than should than should be be contributedcontributed
Multiple Multiple arrows, total, arrows, total, contain the contain the full attribute full attribute contribution contribution of that pointof that point* Remember that one
skeleton is not entirely matched.
6.49
8.203.65
4.46
10.95
7.62
8.11
8.22
11.85
54
45
46
52
55
Not One-to-One: No MatchNot One-to-One: No Match Some skeleton Some skeleton
points have no points have no arrows touching arrows touching themthem There is more of There is more of
this attribute in this attribute in the red skeletonthe red skeleton
Not all of the Not all of the red points can red points can be associated be associated with greenwith green
All of green All of green points match points match with one or with one or more red pointsmore red points
Computing EMDComputing EMDEdge Point 1 Point 2 Dist Attr Contribution
1 (63.9, 45.8) (44.5, 24.5) 28.80 1.35 38.942 (62.8, 50.9) (48.0, 68.9) 23.33 1.84 43.003 (31.7, 50.0) (48.0, 35.6) 21.78 5.13 111.744 (96.1, 100.0) (100.0, 97.8) 4.45 3.71 16.525 (46.9, 5.8) (88.0, 6.7) 41.10 4.59 188.576 (63.7, 29.0) (100.0, 0.0) 46.47 1.35 62.837 (95.7, 95.7) (95.7, 97.5) 1.81 4.33 7.838 (92.3, 8.0) (84.0, 8.9) 8.34 3.87 32.299 (42.2, 96.0) (88.0, 93.3) 45.87 4.09 187.5810 (96.1, 4.0) (92.0, 4.4) 4.17 4.05 16.89… … … … … …56 (100.0, 0.0) (100.0, 0.0) 0.00 2.29 0.0057 ( 0.0, 36.2) (51.9, 24.7) 53.17 1.35 71.7358 (62.7, 50.0) (55.8, 22.9) 27.96 0.00 0.0359 (57.7, 20.0) (63.6, 19.3) 5.93 5.79 34.3360 (84.6, 16.0) (71.5, 15.4) 13.06 5.81 75.8661 (52.3, 12.7) (80.0, 11.1) 27.71 5.90 163.56
Total 4948.92 EMD
Reference Unit Cell Skeleton
with Properties
Skeleton Alignment Using Multiple Parameters
Characterized Reference Unit
Cell
Unit Cell Regrowth in Scaffold with and without Rotation
Heterogeneous Scaffold
Future Work:Future Work:
Use all properties simultaneously to Use all properties simultaneously to formulate this problem as one formulate this problem as one optimization problemoptimization problem Pareto optimization with multiple Pareto optimization with multiple
objectivesobjectives Find the optimal rotation, regrow the Find the optimal rotation, regrow the
void inside the scaffold.void inside the scaffold.