ORMIRcommunity / th_algos_comparison

GNU General Public License v3.0
1 stars 0 forks source link

3D printed model for validation #2

Open sbonaretti opened 1 year ago

sbonaretti commented 1 year ago

@enricoschileo, @GiuliaFraterrigo, @briccola cc: @slmanske @mkuczyns @njneeteson @thewtex @soupault @gigi

I got this idea about a 3D printed model to validate thickness algorithms:

IMG20230228101550

The model (1 in the figure) could be a 3D print of cylinders of different widths (like a forest with trees of various widths) supported by a pair of rectangles or so. Of course the shapes could be of various kinds, i.e. plates, etc. Also, the cylinders should be distant enough that they can be measured by a thickness gauge (or any appropriate instrument), to measure printing error

Then we could scan the model in various directions (2 in the figure) to mimic various trabecular directions. We could position it horizontally, vertically, and at various angles, with 3D printed supports

As @slmanske mentioned, we could immerge the 3D printed models in some solutions (would a contrast agent work?) before scanning them

Eventually, we could openly share the CAD files (.stl or others), so that anybody could 3D print the models in their labs (not only the people in this project), and make our models available validation models

What do you think? Is this a possible starting point?

slmanske commented 1 year ago

This would probably be a fun project for an undergrad. Would just need to make the whole thing is relatively small (to fit inside various scanners) and could be fully contained in a vessel with liquid…

Sarah Manske, PhD Associate Professor McCaig Institute for Bone and Joint Health Department of Radiology Cumming School of Medicine University of Calgary

From: Serena Bonaretti @.> Reply-To: ORMIRcommunity/th_algos_comparison @.> Date: Tuesday, February 28, 2023 at 2:27 AM To: ORMIRcommunity/th_algos_comparison @.> Cc: Sarah Manske @.>, Mention @.***> Subject: [ORMIRcommunity/th_algos_comparison] 3D printed model for validation (Issue #2)

[△EXTERNAL]

@enricoschileohttps://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fenricoschileo&data=05%7C01%7Csmanske%40ucalgary.ca%7C67d3be383075463762ad08db196dfaa4%7Cc609a0eca5e346319686192280bd9151%7C1%7C0%7C638131732564680515%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=BEt2kqiYwBu2y4cRQoAJfn2evNhxW5lMsSN4DHQZQek%3D&reserved=0, @GiuliaFraterrigohttps://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FGiuliaFraterrigo&data=05%7C01%7Csmanske%40ucalgary.ca%7C67d3be383075463762ad08db196dfaa4%7Cc609a0eca5e346319686192280bd9151%7C1%7C0%7C638131732564680515%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=K4Tkz4g8VMJQSfyXvEV2GKpmP27mGAAPYT%2BtNMMud5U%3D&reserved=0, @martinohttps://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmartino&data=05%7C01%7Csmanske%40ucalgary.ca%7C67d3be383075463762ad08db196dfaa4%7Cc609a0eca5e346319686192280bd9151%7C1%7C0%7C638131732564680515%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=1lXdIhbElav%2Fd9nYJNkZcY0Ws8qKiMTLqjT%2FemBug%2BY%3D&reserved=0 cc: @slmanskehttps://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fslmanske&data=05%7C01%7Csmanske%40ucalgary.ca%7C67d3be383075463762ad08db196dfaa4%7Cc609a0eca5e346319686192280bd9151%7C1%7C0%7C638131732564680515%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=8Unvuv%2BiuYUzgDlq6XqCHLJzdJyZjUiWI3Rwn4R14sI%3D&reserved=0 @mkuczynshttps://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmkuczyns&data=05%7C01%7Csmanske%40ucalgary.ca%7C67d3be383075463762ad08db196dfaa4%7Cc609a0eca5e346319686192280bd9151%7C1%7C0%7C638131732564680515%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=qRUshLDF5P0sJmaNf16eVc1LocuocMuNhbB2CzLPYlE%3D&reserved=0 @njneetesonhttps://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnjneeteson&data=05%7C01%7Csmanske%40ucalgary.ca%7C67d3be383075463762ad08db196dfaa4%7Cc609a0eca5e346319686192280bd9151%7C1%7C0%7C638131732564680515%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=saur1hqZle8aWbLhCxzX%2FEiiYLrnhro0G464K7K5tsc%3D&reserved=0 @thewtexhttps://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fthewtex&data=05%7C01%7Csmanske%40ucalgary.ca%7C67d3be383075463762ad08db196dfaa4%7Cc609a0eca5e346319686192280bd9151%7C1%7C0%7C638131732564680515%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=8tDI8GHPfTTOCfq5hUesSuaB3NLUJMQlz3N14HYLJNs%3D&reserved=0 @soupaulthttps://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fsoupault&data=05%7C01%7Csmanske%40ucalgary.ca%7C67d3be383075463762ad08db196dfaa4%7Cc609a0eca5e346319686192280bd9151%7C1%7C0%7C638131732564680515%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=eTZifA0FBUcqbBdfTtTfdIQe4n6h74dSZJBlGk5zVUE%3D&reserved=0 @gigihttps://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgigi&data=05%7C01%7Csmanske%40ucalgary.ca%7C67d3be383075463762ad08db196dfaa4%7Cc609a0eca5e346319686192280bd9151%7C1%7C0%7C638131732564680515%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Mr8JjnWsjZuGVzGYt19JRLl6kC9gbBzmTfiPh9%2FTmho%3D&reserved=0

I got this idea about a 3D printed model to validate thickness algorithms:

[IMG20230228101550]https://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fuser-images.githubusercontent.com%2F13563701%2F221808250-f92d5bd9-6603-4f42-aad0-637f84d40af0.jpg&data=05%7C01%7Csmanske%40ucalgary.ca%7C67d3be383075463762ad08db196dfaa4%7Cc609a0eca5e346319686192280bd9151%7C1%7C0%7C638131732564680515%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=oStVh4a9l%2B4vhyDhJ2pW27Ds03%2FbCtyrCq45iUahvl0%3D&reserved=0

The model (1 in the figure) could be a 3D print of cylinders of different widths (like a forest with trees of various widths) supported by a pair of rectangles or so. Of course the shapes could be of various kinds, i.e. plates, etc. Also, the cylinders should be distant enough that they can be measured by a thickness gauge (or any appropriate instrument), to measure printing error

Then we could scan the model in various directions (2 in the figure) to mimic various trabecular directions. We could position it horizontally, vertically, and at various angles, with 3D printed supports

As @slmanskehttps://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fslmanske&data=05%7C01%7Csmanske%40ucalgary.ca%7C67d3be383075463762ad08db196dfaa4%7Cc609a0eca5e346319686192280bd9151%7C1%7C0%7C638131732564680515%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=8Unvuv%2BiuYUzgDlq6XqCHLJzdJyZjUiWI3Rwn4R14sI%3D&reserved=0 mentioned, we could immerge the 3D printed models in some solutions (would a contrast agent work?) before scanning them

Eventually, we could openly share the CAD files (.stl or others), so that anybody could 3D print the models in their labs (not only the people in this project), and make our models available validation models

What do you think? Is this a possible starting point?

— Reply to this email directly, view it on GitHubhttps://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FORMIRcommunity%2Fth_algos_comparison%2Fissues%2F2&data=05%7C01%7Csmanske%40ucalgary.ca%7C67d3be383075463762ad08db196dfaa4%7Cc609a0eca5e346319686192280bd9151%7C1%7C0%7C638131732564680515%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=sqyAhvOa2i9wcEVwDQcZ0ln8ifEqSYOJjoOlRhp1HNQ%3D&reserved=0, or unsubscribehttps://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FALFZ6FFL2EB5GWFLVKT43J3WZXAHFANCNFSM6AAAAAAVKO3J2Q&data=05%7C01%7Csmanske%40ucalgary.ca%7C67d3be383075463762ad08db196dfaa4%7Cc609a0eca5e346319686192280bd9151%7C1%7C0%7C638131732564680515%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=n0XtZHoTevPr5QOT0I2Q2lJPTlAelLBMhhCX9lQpGJk%3D&reserved=0. You are receiving this because you were mentioned.Message ID: @.***>

gianthk commented 1 year ago

hi everyone! nice idea @sbonaretti: very much needed. Have you considered the reproducibility of a printed phantom? I guess filament or other 3D printers might give different thicknesses depending on printing conditions? (type of printer, type of filament, print temperature etc..)

Have you thought of a custom or commercial wire phantom instead? For example: this company produces custom wire phantoms for resolution analysis, HA phantoms, and more. Generally they use wires (i.e. tungsten) with calibrated thicknesses. I am contacting them to purchase resolution test charts for the beamline like this one. If you are interested, I can also ask the price of a wire phantom, and if they have done phantoms with wires and plates in the same embedding..

enricoschileo commented 1 year ago

Hi Serena and all,

just a quick update on this. We might considering adding different geometries to cylinders. I would suggest the phantom described in

https://pubmed.ncbi.nlm.nih.gov/16774521/

as a reference. We tried to scan it in the XCT2, and it is expectedly too small/thin. But I would keep the idea of using "wires, foils, meshes and spheres", adding cylinders and possibly increasing thicknesses (in the microCT phantom they ranged from 20 microm to 1 mm).

As to the material: the microCT phantom was in aluminum, we may consider a cheaper 3D printed material but with some radio-opaque filler (or coating-bath, but will it do?). In any case, a final metrology check would be needed.

Happy to hear your feedback and work on this

All the best

Enrico