Femur segmentation (Mimics 22.0)

In this tutorial basic operations to the lower limb are illustrated. The right femur and the pelvis are segmented and basic operations are performed to the masks and the 3D parts.

# Tutorial: Perform segmentation and operations to the Hip.mcs. Calculate and export STL
# Open the project
mimics.file.open_project(r'C:\MedData\DemoFiles\Hip.mcs')
# Create an empty mask
mask_a = mimics.segment.create_mask()
mask_a.name = "Lower limb"
# Perform thresholding with selected min and max values
mimics.segment.threshold(mask=mask_a, threshold_min=1250, threshold_max=2650)  # thresholds are set in gray values
# Fill holes in the segmentation mask
mimics.segment.fill_holes(mask_a)
# Create a point that will be used fot the region growing operation
point_1 = mimics.analyze.indicate_point(title="Region growing point",
										message="Please indicate a point on the part of interest")
# Region growing. The original mask is preserved
mask_b = mimics.segment.region_grow(point=point_1, input_mask=mask_a, target_mask=None, slice_type="Axial",
									keep_original_mask=True)
# mimics.data.points.delete(point_1)
mask_b.name = "Segmented right femur"
# Perform the boolean operation ""Minus"" to take the anatomy of interest".
mask_c = mimics.segment.boolean_operations(mask_a=mimics.data.masks.find("Lower limb"),
										   mask_b=mimics.data.masks.find("Segmented right femur"), operation="Minus")
mask_c.name = "Pelvis and left femur"
# Calculation of the 3D parts
part_a = mimics.segment.calculate_part(mask=mimics.data.masks.find("Segmented right femur"), quality="High")
part_b = mimics.segment.calculate_part(mask=mimics.data.masks.find("Pelvis and left femur"), quality="High")
# Smooth 3D parts 
objects = mimics.data.parts
for part in objects:
	part.visible = False
	smoothed_part = mimics.tools.smooth(object_to_smooth=part, smooth_factor=0.6, keep_originals=True)
	smoothed_part.visible = True
	# Export the STL
	mimics.file.export_part(object_to_convert=smoothed_part, file_name="C:\MedData\\" + smoothed_part.name + ".stl")
# Save the project
mimics.file.save_project()