-
Notifications
You must be signed in to change notification settings - Fork 35
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
Add parameter sets for mouse and pig bladder #153
Changes from 1 commit
06062fe
7ffcc21
784a92a
13b9b7a
3fda92a
a7d796e
93cf400
19021f6
6c8a2ca
f271f41
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -46,11 +46,45 @@ class MeshType_3d_bladderurethra1(Scaffold_base): | |
[[0.0, 0.0, 15.0], [0.0, 0.0, 15.0], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.0, 0.0, 30.0], [0.0, 0.0, 15.0], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.0, 0.0, 45.0], [0.0, 0.0, 15.0], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.13, 0.1, 60.45], [0.4, 1.1, 13.5], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.42, 1.42, 75.2], [0.3, 1.4, 13.2], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.85, 3.05, 89.94], [-0.2, 1.8, 15.4], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.26, 5.98, 107.94], [-0.6, 4.5, 16.8], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[-0.66, 12.47, 127.07], [0.35, 6.67, 14.8], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]]]), | ||
[[0.0, 0.1, 60.45], [0.4, 1.1, 13.5], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.0, 1.42, 75.2], [0.3, 1.4, 13.2], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.0, 3.05, 89.94], [-0.2, 1.8, 15.4], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.0, 5.98, 107.94], [-0.6, 4.5, 16.8], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.0, 12.47, 127.07], [0.35, 6.67, 14.8], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]]]), | ||
'userAnnotationGroups': [ | ||
{ | ||
'_AnnotationGroup': True, | ||
'dimension': 1, | ||
'identifierRanges': '1-5', | ||
'name': get_bladder_term('urinary bladder')[0], | ||
'ontId': get_bladder_term('urinary bladder')[1] | ||
}, | ||
{ | ||
'_AnnotationGroup': True, | ||
'dimension': 1, | ||
'identifierRanges': '6-8', | ||
'name': get_bladder_term('urethra')[0], | ||
'ontId': get_bladder_term('urethra')[1] | ||
}] | ||
}), | ||
'Human 1': ScaffoldPackage(MeshType_1d_path1, { | ||
'scaffoldSettings': { | ||
'Coordinate dimensions': 3, | ||
'D2 derivatives': True, | ||
'Length': 1.0, | ||
'Number of elements': 8 | ||
}, | ||
'meshEdits': exnodeStringFromNodeValues( | ||
[Node.VALUE_LABEL_VALUE, Node.VALUE_LABEL_D_DS1, Node.VALUE_LABEL_D_DS2, Node.VALUE_LABEL_D2_DS1DS2], [ | ||
[[0.0, 0.0, 0.0], [0.0, 0.0, 20.0], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.0, 0.0, 20.0], [0.0, 0.0, 20.0], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.0, 0.0, 40.0], [0.0, 0.0, 20], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.0, 0.0, 60.0], [0.0, 0.0, 20], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.0, 0.0, 80.0], [-0.4, 0.3, 17.7], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.0, -2.1, 100.6], [-1.0, -1.9, 17.2], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.0, -3.8, 120.3], [-1.4, -0.6, 18.8], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.0, -3.6, 140.5], [-0.1, 2.0, 18.4], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.0, 0.0, 160.0], [0.9, 4.0, 15.5], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]]]), | ||
'userAnnotationGroups': [ | ||
{ | ||
'_AnnotationGroup': True, | ||
|
@@ -66,8 +100,8 @@ class MeshType_3d_bladderurethra1(Scaffold_base): | |
'name': get_bladder_term('urethra')[0], | ||
'ontId': get_bladder_term('urethra')[1] | ||
}] | ||
}), | ||
'Rat 1': ScaffoldPackage(MeshType_1d_path1, { | ||
}), | ||
'Mouse 1': ScaffoldPackage(MeshType_1d_path1, { | ||
'scaffoldSettings': { | ||
'Coordinate dimensions': 3, | ||
'D2 derivatives': True, | ||
|
@@ -81,10 +115,10 @@ class MeshType_3d_bladderurethra1(Scaffold_base): | |
[[0.0, 0.0, 20.0], [0.0, 0.0, 10], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.0, 0.0, 30.0], [0.0, 0.0, 10], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.0, 0.0, 40.0], [-0.4, 0.3, 7.7], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[-0.5, -2.1, 49.6], [-1.0, -1.9, 7.2], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[-0.9, -3.8, 59.3], [-1.4, -0.6, 8.8], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[-1.3, -3.6, 71.5], [-0.1, 2.0, 8.4], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.0, 0.0, 80.0], [0.9, 4.0, 5.5], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]]]), | ||
[[0.0, -2.1, 45.0], [-1.0, -1.9, 7.2], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.0, -3.8, 50.0], [-1.4, -0.6, 8.8], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.0, -3.6, 55.0], [-0.1, 2.0, 8.4], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.0, 0.0, 60.0], [0.9, 4.0, 5.5], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]]]), | ||
'userAnnotationGroups': [ | ||
{ | ||
'_AnnotationGroup': True, | ||
|
@@ -100,8 +134,8 @@ class MeshType_3d_bladderurethra1(Scaffold_base): | |
'name': get_bladder_term('urethra')[0], | ||
'ontId': get_bladder_term('urethra')[1] | ||
}] | ||
}), | ||
'Human 1': ScaffoldPackage(MeshType_1d_path1, { | ||
}), | ||
'Pig 1': ScaffoldPackage(MeshType_1d_path1, { | ||
'scaffoldSettings': { | ||
'Coordinate dimensions': 3, | ||
'D2 derivatives': True, | ||
|
@@ -110,15 +144,49 @@ class MeshType_3d_bladderurethra1(Scaffold_base): | |
}, | ||
'meshEdits': exnodeStringFromNodeValues( | ||
[Node.VALUE_LABEL_VALUE, Node.VALUE_LABEL_D_DS1, Node.VALUE_LABEL_D_DS2, Node.VALUE_LABEL_D2_DS1DS2], [ | ||
[[0.0, 0.0, 0.0], [0.0, 0.0, 20.0], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.0, 0.0, 20.0], [0.0, 0.0, 20.0], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.0, 0.0, 40.0], [0.0, 0.0, 20], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.0, 0.0, 60.0], [0.0, 0.0, 20], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.0, 0.0, 80.0], [-0.4, 0.3, 17.7], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[-0.5, -2.1, 100.6], [-1.0, -1.9, 17.2], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[-0.9, -3.8, 120.3], [-1.4, -0.6, 18.8], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[-1.3, -3.6, 140.5], [-0.1, 2.0, 18.4], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.0, 0.0, 160.0], [0.9, 4.0, 15.5], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]]]), | ||
[[0.0, 0.0, 0.0], [0.0, 0.0, 23.3], [0.0, 0.5, 0.0], [0.0, 0.0, 0.0]], | ||
[[0.0, 0.0, 25.0], [0.0, 0.0, 21.3], [0.0, 0.5, 0.0], [0.0, 0.0, 0.0]], | ||
[[0.0, 0.0, 40.0], [0.0, 0.0, 20.4], [0.0, 0.5, 0.0], [0.0, 0.0, 0.0]], | ||
[[0.0, 0.0, 65.0], [0.4, 1.0, 24.5], [0.0, 0.5, 0.1], [0.0, -0.0, -0.0]], | ||
[[0.0, 2.4, 90.0], [0.5, 4.2, 23.0], [0.0, 0.5, -0.2], [-0.0, -0.0, -0.1]], | ||
[[0.0, 9.2, 110.0], [0.1, 5.6, 15.4], [-0.0, 0.5, -0.2], [-0.0, 0.0, 0.0]], | ||
[[0.0, 15.3, 125.0], [0.2, 5.3, 12.0], [-0.0, 0.5, -0.2], [0.0, 0.0, -0.1]], | ||
[[0.0, 21.2, 140.0], [0.1, 7.7, 11.9], [0.0, 0.4, -0.3], [0.0, -0.1, -0.1]], | ||
[[0.0, 30.0, 150.0], [2.6, 18.4, 12.5], [-0.0, 0.3, -0.4], [-0.0, -0.2, -0.2]]]), | ||
'userAnnotationGroups': [ | ||
{ | ||
'_AnnotationGroup': True, | ||
'dimension': 1, | ||
'identifierRanges': '1-4', | ||
'name': get_bladder_term('urinary bladder')[0], | ||
'ontId': get_bladder_term('urinary bladder')[1] | ||
}, | ||
{ | ||
'_AnnotationGroup': True, | ||
'dimension': 1, | ||
'identifierRanges': '5-8', | ||
'name': get_bladder_term('urethra')[0], | ||
'ontId': get_bladder_term('urethra')[1] | ||
}] | ||
}), | ||
'Rat 1': ScaffoldPackage(MeshType_1d_path1, { | ||
'scaffoldSettings': { | ||
'Coordinate dimensions': 3, | ||
'D2 derivatives': True, | ||
'Length': 1.0, | ||
'Number of elements': 8 | ||
}, | ||
'meshEdits': exnodeStringFromNodeValues( | ||
[Node.VALUE_LABEL_VALUE, Node.VALUE_LABEL_D_DS1, Node.VALUE_LABEL_D_DS2, Node.VALUE_LABEL_D2_DS1DS2], [ | ||
[[0.0, 0.0, 0.0], [0.0, 0.0, 10.0], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.0, 0.0, 10.0], [0.0, 0.0, 10.0], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.0, 0.0, 20.0], [0.0, 0.0, 10], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.0, 0.0, 30.0], [0.0, 0.0, 10], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.0, 0.0, 40.0], [-0.4, 0.3, 7.7], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.0, -2.1, 49.6], [-1.0, -1.9, 7.2], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.0, -3.8, 59.3], [-1.4, -0.6, 8.8], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.0, -3.6, 71.5], [-0.1, 2.0, 8.4], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]], | ||
[[0.0, 0.0, 80.0], [0.9, 4.0, 5.5], [0.0, 0.5, 0.0], [0.0, 0.0, -0.5]]]), | ||
'userAnnotationGroups': [ | ||
{ | ||
'_AnnotationGroup': True, | ||
|
@@ -134,8 +202,8 @@ class MeshType_3d_bladderurethra1(Scaffold_base): | |
'name': get_bladder_term('urethra')[0], | ||
'ontId': get_bladder_term('urethra')[1] | ||
}] | ||
}) | ||
} | ||
}) | ||
} | ||
ostiumDefaultScaffoldPackages = { | ||
'Ureter Cat 1': ScaffoldPackage(MeshType_3d_ostium1, { | ||
'scaffoldSettings': { | ||
|
@@ -188,6 +256,58 @@ class MeshType_3d_bladderurethra1(Scaffold_base): | |
'Refine number of elements through wall': 1 | ||
}, | ||
}), | ||
'Ureter Mouse 1': ScaffoldPackage(MeshType_3d_ostium1, { | ||
'scaffoldSettings': { | ||
'Number of vessels': 1, | ||
'Number of elements across common': 2, | ||
'Number of elements around ostium': 8, # implemented for 8 | ||
'Number of elements along': 1, | ||
'Unit scale': 1.0, | ||
'Outlet': False, | ||
'Ostium diameter': 1.0, | ||
'Ostium length': 0.25, | ||
'Ostium wall thickness': 0.02, | ||
'Use linear through ostium wall': True, | ||
'Vessel end length factor': 2.0, | ||
'Vessel inner diameter': 0.3, | ||
'Vessel wall thickness': 0.1, | ||
'Vessel angle 1 degrees': 0.0, | ||
'Vessel angle 1 spread degrees': 0.0, | ||
'Vessel angle 2 degrees': 0.0, | ||
'Use linear through vessel wall': True, | ||
'Use cross derivatives': False, | ||
'Refine': False, | ||
'Refine number of elements around': 4, | ||
'Refine number of elements along': 4, | ||
'Refine number of elements through wall': 1 | ||
}, | ||
}), | ||
'Ureter Pig 1': ScaffoldPackage(MeshType_3d_ostium1, { | ||
'scaffoldSettings': { | ||
'Number of vessels': 1, | ||
'Number of elements across common': 2, | ||
'Number of elements around ostium': 8, # implemented for 8 | ||
'Number of elements along': 1, | ||
'Unit scale': 1.0, | ||
'Outlet': False, | ||
'Ostium diameter': 2.3, | ||
'Ostium length': 0.35, | ||
'Ostium wall thickness': 0.3, | ||
'Use linear through ostium wall': True, | ||
'Vessel end length factor': 2.0, | ||
'Vessel inner diameter': 1.3, | ||
'Vessel wall thickness': 0.2, | ||
'Vessel angle 1 degrees': 0.0, | ||
'Vessel angle 1 spread degrees': 0.0, | ||
'Vessel angle 2 degrees': 0.0, | ||
'Use linear through vessel wall': True, | ||
'Use cross derivatives': False, | ||
'Refine': False, | ||
'Refine number of elements around': 4, | ||
'Refine number of elements along': 4, | ||
'Refine number of elements through wall': 1 | ||
}, | ||
}), | ||
'Ureter Human 1': ScaffoldPackage(MeshType_3d_ostium1, { | ||
'scaffoldSettings': { | ||
'Number of vessels': 1, | ||
|
@@ -225,19 +345,30 @@ def getParameterSetNames(): | |
return [ | ||
'Default', | ||
'Cat 1', | ||
'Rat 1', | ||
'Human 1'] | ||
'Human 1', | ||
'Mouse 1', | ||
'Pig 1', | ||
'Rat 1' | ||
] | ||
|
||
@classmethod | ||
def getDefaultOptions(cls, parameterSetName='Default'): | ||
if 'Rat 1' in parameterSetName: | ||
centralPathOption_LUT = cls.centralPathDefaultScaffoldPackages_LUT['Rat 1'] | ||
if 'Mouse 1' in parameterSetName: | ||
centralPathOption_LUT = cls.centralPathDefaultScaffoldPackages_LUT['Mouse 1'] | ||
if 'Pig 1' in parameterSetName: | ||
centralPathOption_LUT = cls.centralPathDefaultScaffoldPackages_LUT['Pig 1'] | ||
elif 'Human 1' in parameterSetName: | ||
centralPathOption_LUT = cls.centralPathDefaultScaffoldPackages_LUT['Human 1'] | ||
else: | ||
centralPathOption_LUT = cls.centralPathDefaultScaffoldPackages_LUT['Cat 1'] | ||
if 'Rat 1' in parameterSetName: | ||
ureterOption = cls.ostiumDefaultScaffoldPackages['Ureter Rat 1'] | ||
if 'Mouse 1' in parameterSetName: | ||
ureterOption = cls.ostiumDefaultScaffoldPackages['Ureter Mouse 1'] | ||
if 'Pig 1' in parameterSetName: | ||
ureterOption = cls.ostiumDefaultScaffoldPackages['Ureter Pig 1'] | ||
elif 'Human 1' in parameterSetName: | ||
ureterOption = cls.ostiumDefaultScaffoldPackages['Ureter Human 1'] | ||
else: | ||
|
@@ -281,6 +412,30 @@ def getDefaultOptions(cls, parameterSetName='Default'): | |
options['Urethra diameter 1'] = 0.75 | ||
options['Urethra diameter 2'] = 0.65 | ||
options['Urethra wall thickness'] = 0.25 | ||
if 'Mouse' in parameterSetName: | ||
options['Major diameter'] = 30.0 | ||
options['Minor diameter'] = 30.0 | ||
options['Wall thickness'] = 0.2 | ||
options['Neck diameter 1'] = 5.0 | ||
options['Neck diameter 2'] = 7.0 | ||
options['Neck angle degrees'] = 25 | ||
options['Ureter position around'] = 0.67 # should be on the dorsal part (> 0.5) | ||
options['Ureter position down'] = 0.83 | ||
options['Urethra diameter 1'] = 2.0 | ||
options['Urethra diameter 2'] = 2.0 | ||
options['Urethra wall thickness'] = 0.25 | ||
if 'Pig' in parameterSetName: | ||
options['Major diameter'] = 30.0 | ||
options['Minor diameter'] = 30.0 | ||
options['Wall thickness'] = 0.3 | ||
options['Neck diameter 1'] = 8.0 | ||
options['Neck diameter 2'] = 7.5 | ||
options['Neck angle degrees'] = 25 | ||
options['Ureter position around'] = 0.67 # should be on the dorsal part (> 0.5) | ||
options['Ureter position down'] = 0.83 | ||
options['Urethra diameter 1'] = 2.0 | ||
options['Urethra diameter 2'] = 2.0 | ||
options['Urethra wall thickness'] = 0.25 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Mouse, pig have followed cat in being quite inflated, rat is half inflated, human perhaps a little more. Need to consistently choose a state, probably partly inflated so regular shaped, not over inflated so strained, not under-inflated so wrinkled up, to be the generic reference state. Do a bit of research and propose what you think is the best state. |
||
if 'Human' in parameterSetName: | ||
options['Number of elements along bladder'] = 8 | ||
options['Number of elements around'] = 12 | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All central paths here have small components in the x direction which make them asymmetric - these components should be zero i.e. curves only in y-z plane.
Can you please make sure that mouse, pig have zero components for all x components of VALUE, D_DS1, D_DS2 then in meshgenerator smooth derivatives, make sides normal and smooth side cross derivatives then list parameters with appropriate precision (say 4-5 sig figs for largest value) then re-paste in here. Ideally all the other species should also be fixed... to discuss.
[Another comment is that this is the only organ that doesn't give the models an absolute scale in mm for each species; they are all about the same size; I'm not asking you to change this yet, just a comment for now.]