Spaces:
Sleeping
Sleeping
Testing the custom grafts
Browse files- endograft_selection.py +23 -6
endograft_selection.py
CHANGED
|
@@ -99,14 +99,32 @@ def get_endograft_parameters(vessel_diameter, component_type):
|
|
| 99 |
|
| 100 |
def choose_endograft(proximal_diameter, distal_diameter, length, fenestrations_exist, distance_to_last_fenestration):
|
| 101 |
strut_amplitude = 15
|
| 102 |
-
|
|
|
|
|
|
|
| 103 |
if is_tapered:
|
| 104 |
proximal_lengths, proximal_graft_diameter, proximal_gap = get_endograft_parameters(proximal_diameter, "proximal_tapered")
|
| 105 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 106 |
else:
|
| 107 |
proximal_lengths, proximal_graft_diameter, proximal_gap = get_endograft_parameters(proximal_diameter, "proximal")
|
| 108 |
-
|
| 109 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 110 |
|
| 111 |
if (proximal_lengths is None) or (distal_lengths is None):
|
| 112 |
return None
|
|
@@ -136,7 +154,7 @@ def choose_endograft(proximal_diameter, distal_diameter, length, fenestrations_e
|
|
| 136 |
|
| 137 |
total_graft_length = proximal_length + distal_length - distal_overlap
|
| 138 |
proximal_code = f"{proximal_prefix}_{proximal_code_diameter}_{proximal_length}_{proximal_gap}"
|
| 139 |
-
distal_code = f"
|
| 140 |
extension_code = f"ZTA_E_{0}_{0}_{0}"
|
| 141 |
extension_overlap = 0
|
| 142 |
|
|
@@ -208,7 +226,6 @@ def choose_endograft(proximal_diameter, distal_diameter, length, fenestrations_e
|
|
| 208 |
|
| 209 |
def start_endograft_pipeline(proximal_diameter, distal_diameter, proximal_start_point, distal_end_point, length, fenestrations_exist, distance_to_last_fenestration):
|
| 210 |
selected_graft = choose_endograft(round(proximal_diameter), round(distal_diameter), round(length), fenestrations_exist, round(distance_to_last_fenestration))
|
| 211 |
-
|
| 212 |
if selected_graft is None:
|
| 213 |
print("No supported graft; try another manufacturer")
|
| 214 |
else:
|
|
|
|
| 99 |
|
| 100 |
def choose_endograft(proximal_diameter, distal_diameter, length, fenestrations_exist, distance_to_last_fenestration):
|
| 101 |
strut_amplitude = 15
|
| 102 |
+
custom_oversizing_ratio = 1.15
|
| 103 |
+
default_custom_overlap = 61
|
| 104 |
+
is_tapered = (proximal_diameter - distal_diameter) == 4
|
| 105 |
if is_tapered:
|
| 106 |
proximal_lengths, proximal_graft_diameter, proximal_gap = get_endograft_parameters(proximal_diameter, "proximal_tapered")
|
| 107 |
+
if proximal_graft_diameter is not None:
|
| 108 |
+
proximal_prefix = "ZTA_PT"
|
| 109 |
+
else:
|
| 110 |
+
proximal_lengths, proximal_graft_diameter, proximal_gap = [length], round(proximal_diameter * custom_oversizing_ratio), 8
|
| 111 |
+
proximal_prefix = "ZTACustom_PT"
|
| 112 |
else:
|
| 113 |
proximal_lengths, proximal_graft_diameter, proximal_gap = get_endograft_parameters(proximal_diameter, "proximal")
|
| 114 |
+
if proximal_graft_diameter is not None:
|
| 115 |
+
proximal_prefix = "ZTA_P"
|
| 116 |
+
else:
|
| 117 |
+
proximal_lengths, proximal_graft_diameter, proximal_gap = [length], round(proximal_diameter * custom_oversizing_ratio), 8
|
| 118 |
+
proximal_prefix = "ZTACustom_P"
|
| 119 |
+
if proximal_prefix == "ZTA_PT" or proximal_prefix == "ZTA_P":
|
| 120 |
+
distal_lengths, distal_graft_diameter, distal_gap = get_endograft_parameters(distal_diameter, "distal")
|
| 121 |
+
distal_prefix = "ZTA_D"
|
| 122 |
+
if distal_graft_diameter is None:
|
| 123 |
+
distal_prefix = "ZTACustom_D"
|
| 124 |
+
distal_lengths, distal_graft_diameter, distal_gap = [(length + default_custom_overlap) - length_element for length_element in proximal_lengths], round(distal_diameter * custom_oversizing_ratio), 8
|
| 125 |
+
else:
|
| 126 |
+
distal_lengths, distal_graft_diameter, distal_gap = [0], 0, 0
|
| 127 |
+
strut_amplitude = 0
|
| 128 |
|
| 129 |
if (proximal_lengths is None) or (distal_lengths is None):
|
| 130 |
return None
|
|
|
|
| 154 |
|
| 155 |
total_graft_length = proximal_length + distal_length - distal_overlap
|
| 156 |
proximal_code = f"{proximal_prefix}_{proximal_code_diameter}_{proximal_length}_{proximal_gap}"
|
| 157 |
+
distal_code = f"{distal_prefix}_{distal_graft_diameter}_{distal_length}_{distal_gap}"
|
| 158 |
extension_code = f"ZTA_E_{0}_{0}_{0}"
|
| 159 |
extension_overlap = 0
|
| 160 |
|
|
|
|
| 226 |
|
| 227 |
def start_endograft_pipeline(proximal_diameter, distal_diameter, proximal_start_point, distal_end_point, length, fenestrations_exist, distance_to_last_fenestration):
|
| 228 |
selected_graft = choose_endograft(round(proximal_diameter), round(distal_diameter), round(length), fenestrations_exist, round(distance_to_last_fenestration))
|
|
|
|
| 229 |
if selected_graft is None:
|
| 230 |
print("No supported graft; try another manufacturer")
|
| 231 |
else:
|