Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pig colon #55

Merged
merged 2 commits into from
Jul 6, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 63 additions & 3 deletions scaffoldmaker/meshtypes/meshtype_3d_colon1.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,59 @@ class MeshType_3d_colon1(Scaffold_base):
[ [ 0.1, -1.0, -0.7 ], [ -0.3, -0.7, 0.4 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ -0.4, -2.3, -0.1 ], [ -0.4, -0.6, 0.3 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ] ] )
} ),
'Pig 1' : ScaffoldPackage(MeshType_1d_path1, {
'scaffoldSettings' : {
'Coordinate dimensions' : 3,
'Length' : 1.0,
'Number of elements' : 43
},
'meshEdits' : zinc_utils.exnodeStringFromNodeValues(
[ Node.VALUE_LABEL_VALUE, Node.VALUE_LABEL_D_DS1, Node.VALUE_LABEL_D_DS2, Node.VALUE_LABEL_D2_DS1DS2 ], [
[ [ 8.1, 2.4, 5.1 ], [ -1.5, 0.6, -3.4 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ 6.2, 3.0, 1.8 ], [ -3.0, 0.6, -2.3 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ 2.2, 3.6, 0.5 ], [ -5.5, 1.0, -0.6 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ -2.0, 3.5, 0.8 ], [ -3.6, -2.1, 0.4 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ -4.0, 0.0, 1.3 ], [ 0.0, -4.2, 0.4 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ -2.0, -3.5, 1.7 ], [ 3.6, -2.1, 0.4 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ 2.0, -3.5, 2.1 ], [ 3.6, 2.1, 0.4 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ 4.0, 0.0, 2.5 ], [ 0.0, 4.2, 0.4 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ 2.3, 3.9, 3.1 ], [ -4.1, 2.4, 0.4 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ -2.2, 3.9, 3.5 ], [ -4.1, -2.4, 0.4 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ -4.5, 0.0, 3.9 ], [ 0.0, -4.7, 0.4 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ -2.2, -3.9, 4.4 ], [ 4.1, -2.4, 0.4 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ 2.3, -3.9, 4.8 ], [ 4.1, 2.4, 0.4 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ 4.5, 0.0, 5.1 ], [ 0.3, 3.6, 0.6 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ 2.8, 4.8, 5.5 ], [ -5.1, 2.8, 0.4 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ -2.7, 4.8, 6.5 ], [ -5.0, -2.9, 0.4 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ -5.5, 0.0, 6.3 ], [ 0.0, -5.8, 0.4 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ -2.8, -4.8, 6.7 ], [ 5.0, -2.9, 0.4 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ 2.7, -4.8, 7.1 ], [ 5.0, 2.9, 0.4 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ 5.5, 0.0, 7.5 ], [ 0.0, 5.8, 0.4 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ 3.0, 4.2, 8.2 ], [ -2.5, 1.4, 0.6 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ -1.3, 4.9, 8.8 ], [ -5.0, -1.3, 0.0 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ -4.7, 1.5, 8.8 ], [ -1.4, -5.1, 0.4 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ -3.9, -2.5, 9.5 ], [ 4.4, -0.8, 0.8 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ -1.8, 0.3, 10.0 ], [ 0.0, 3.6, 0.9 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ -0.4, 3.4, 10.5 ], [ 4.1, 2.7, 0.4 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ 3.1, 3.0, 10.3 ], [ 2.2, -1.4, -0.2 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ 4.4, -0.1, 9.6 ], [ -0.6, -4.6, -1.0 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ 2.0, -3.1, 8.5 ], [ -2.7, -1.4, -0.6 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ -1.6, -3.6, 7.6 ], [ -2.8, 1.5, -0.6 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ -3.9, -0.5, 7.0 ], [ -0.2, 3.5, -0.2 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ -2.5, 2.6, 7.0 ], [ 1.8, 1.7, -0.2 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ 1.4, 3.8, 6.8 ], [ 5.3, -1.9, -0.8 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ 3.6, 1.1, 6.5 ], [ 0.2, -2.4, -0.3 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ 1.9, -2.8, 6.2 ], [ -4.1, -3.7, -0.8 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ -1.7, -3.5, 5.7 ], [ -2.0, 1.0, -0.4 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ -3.7, -0.2, 5.1 ], [ 0.2, 4.4, -0.8 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ -1.9, 3.2, 4.6 ], [ 2.3, 1.1, -0.6 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ 1.3, 3.6, 4.4 ], [ 3.7, -1.5, -0.3 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ 3.3, 0.9, 4.0 ], [ -0.4, -2.4, -0.3 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ 2.0, -1.9, 3.6 ], [ -2.7, -1.5, -0.2 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ -1.2, -2.7, 3.1 ], [ -3.0, 0.8, -0.4 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ -1.9, 1.5, 2.2 ], [ 5.5, 4.5, -1.9 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ],
[ [ 14.3, -5.9, -3.0 ], [ 5.2, -4.1, -0.3 ], [ 0.0, 0.0, 0.5 ], [ 0.0, 0.0, 0.05 ] ] ] )
} ),
'Test Line' : ScaffoldPackage(MeshType_1d_path1, {
'scaffoldSettings' : {
'Coordinate dimensions' : 3,
Expand All @@ -103,18 +156,23 @@ def getParameterSetNames():
'Default',
'Human 1',
'Human 2',
'Mouse 1']
'Mouse 1',
'Pig 1']

@classmethod
def getDefaultOptions(cls, parameterSetName='Default'):
if 'Human 2' in parameterSetName:
centralPathOption = cls.centralPathDefaultScaffoldPackages['Human 2']
elif 'Mouse' in parameterSetName:
centralPathOption = cls.centralPathDefaultScaffoldPackages['Mouse 1']
elif 'Pig' in parameterSetName:
centralPathOption = cls.centralPathDefaultScaffoldPackages['Pig 1']
else:
centralPathOption = cls.centralPathDefaultScaffoldPackages['Human 1']
if 'Mouse' in parameterSetName:
segmentProfileOption = ScaffoldPackage(MeshType_3d_colonsegmentsimplemesentery1, defaultParameterSetName = 'Mouse 1')
elif 'Pig' in parameterSetName:
segmentProfileOption = ScaffoldPackage(MeshType_3d_colonsegmentteniacoli1, defaultParameterSetName = 'Pig 1')
else:
segmentProfileOption = ScaffoldPackage(MeshType_3d_colonsegmentteniacoli1, defaultParameterSetName = 'Human 1')
options = {
Expand All @@ -126,6 +184,8 @@ def getDefaultOptions(cls, parameterSetName='Default'):
'Refine number of elements along' : 1,
'Refine number of elements through wall' : 1
}
if 'Pig' in parameterSetName:
options['Number of segments'] = 120
return options

@staticmethod
Expand Down Expand Up @@ -211,14 +271,14 @@ def generateBaseMesh(region, options):
else: # segmentScaffoldType == MeshType_3d_colonsegmentteniacoli1:
elementsCountAroundTC = segmentSettings['Number of elements around tenia coli']
elementsCountAroundHaustrum = segmentSettings['Number of elements around haustrum']
elementsCountAround = (elementsCountAroundTC + elementsCountAroundHaustrum)*3
cornerInnerRadiusFactor = segmentSettings['Corner inner radius factor']
haustrumInnerRadiusFactor = segmentSettings['Haustrum inner radius factor']
segmentLengthEndDerivativeFactor = segmentSettings['Segment length end derivative factor']
segmentLengthMidDerivativeFactor = segmentSettings['Segment length mid derivative factor']
tcCount = segmentSettings['Number of tenia coli']
tcWidth = segmentSettings['Tenia coli width']
tcThickness = segmentSettings['Tenia coli thickness']
elementsCountAround = (elementsCountAroundTC + elementsCountAroundHaustrum)*tcCount

elementsCountAlongSegment = segmentSettings['Number of elements along segment']
elementsCountThroughWall = segmentSettings['Number of elements through wall']
Expand Down Expand Up @@ -263,7 +323,7 @@ def generateBaseMesh(region, options):
annotationGroupsTC, nextNodeIdentifier, nextElementIdentifier = getTeniaColi(region, nextNodeIdentifier, nextElementIdentifier,
useCrossDerivatives, useCubicHermiteThroughWall, xList, d1List, d2List, d3List, elementsCountAroundTC, elementsCountAroundHaustrum,
elementsCountAlong, elementsCountThroughWall, wallThickness, tcWidth, tcThickness, sx, curvatureAlong, factorList, uList,
arcLengthOuterMidLength, length)
arcLengthOuterMidLength, length, tcCount)

annotationGroups += annotationGroupsTC

Expand Down
Loading