# How to convert model to markups?

**URL:** <https://discourse.slicer.org/t/how-to-convert-model-to-markups/3665>\
**Category:** Development\
**Created:** [August 5, 2018, 3:55pm UTC](https://discourse.slicer.org/t/how-to-convert-model-to-markups/3665 "2018-08-05T15:55:42Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![Saha\_Saha](https://avatars.discourse-cdn.com/v4/letter/s/3d9bf3/32.png) [@Saha\_Saha](https://discourse.slicer.org/u/Saha_Saha)\
**Post date:** [August 5, 2018, 3:55pm UTC](https://discourse.slicer.org/t/how-to-convert-model-to-markups/3665/1 "2018-08-05T15:55:42Z")

</div>

Operating system: window 10  
Slicer version: 4.9.0  
Expected behavior:  
Actual behavior:

I have dicom data (CT scan) set of spin. Where I need to get point cloud on the surface of vertebra. So I need markups from a model on the surface of vertebra. Please guide me how can I that.

---

<div class="post-metadata">

**Author:** ![Andinet\_Enquobahrie](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/andinet_enquobahrie/32/75_2.png) [@Andinet\_Enquobahrie](https://discourse.slicer.org/u/Andinet_Enquobahrie)\
**Post date:** [August 5, 2018, 5:23pm UTC](https://discourse.slicer.org/t/how-to-convert-model-to-markups/3665/2 "2018-08-05T17:23:24Z")

</div>

Not sure if I understand your question.

If you want to create markups from surface models, you can use the Markups module.  
[https://www.slicer.org/wiki/Documentation/Nightly/Modules/Markups](https://www.slicer.org/wiki/Documentation/Nightly/Modules/Markups)

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [August 5, 2018, 9:27pm UTC](https://discourse.slicer.org/t/how-to-convert-model-to-markups/3665/3 "2018-08-05T21:27:54Z")

</div>

Indeed, from the short description that was provided we can only guess what you would like to do. Please clarify. For example, what do you mean by “DICOM data set of spin”?

---

<div class="post-metadata">

**Author:** ![Saha\_Saha](https://avatars.discourse-cdn.com/v4/letter/s/3d9bf3/32.png) [@Saha\_Saha](https://discourse.slicer.org/u/Saha_Saha)\
**Post date:** [August 6, 2018, 12:37am UTC](https://discourse.slicer.org/t/how-to-convert-model-to-markups/3665/4 "2018-08-06T00:37:11Z")

</div>

Dear all,

Thank you very much for the reply.

My task is to find optimal path inside the bone channel for placing pedicle screw in vertebra. So I am trying to get point cloud on vertebra so that I can calculate the width automatically and define the optimal path.

I am attaching some pictures for your consideration.  
I placed the markups on the surface of the vertebra manually. But I want to place this markups automatically.  
 ![Master%20Scene%20View](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/7/9/79ddd79fb028f22c45682fb6a571c3d302b435b9.png)

---

<div class="post-metadata">

**Author:** ![Saha\_Saha](https://avatars.discourse-cdn.com/v4/letter/s/3d9bf3/32.png) [@Saha\_Saha](https://discourse.slicer.org/u/Saha_Saha)\
**Post date:** [August 6, 2018, 12:51am UTC](https://discourse.slicer.org/t/how-to-convert-model-to-markups/3665/5 "2018-08-06T00:51:15Z")

</div>

Dear Andras Lasso,

I have DICOM data set of spin attached below. I used DICOM data set as input in 3D Slicer. Therefore, I chose the model from volume module in slicer. Then I cropped and segmented to get one vertebra.(Described my problem in previous reply)

Thank you very much for you support.

 ![Master%20Scene%20View](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/e/e/ee049613ab5a16eaeac587e93f314dec3314d2f0.png)

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [August 6, 2018, 9:12am UTC](https://discourse.slicer.org/t/how-to-convert-model-to-markups/3665/6 "2018-08-06T09:12:32Z")

</div>

A single approximate entry point should be enough to initialize an automatic trajectory finding algorithm. You can get approximate direction from the image’s standard anatomical orientation.

By specifying two points, you can specify the trajectory completely, which you can use as is, or as an initial guess. A Slicer extension is already available for this:

More information: [How to install pedicle screws simulator extension?](https://discourse.slicer.org/t/how-to-install-pedicle-screws-simulator-extension/1073/8)

---

<div class="post-metadata">

**Author:** ![Saha\_Saha](https://avatars.discourse-cdn.com/v4/letter/s/3d9bf3/32.png) [@Saha\_Saha](https://discourse.slicer.org/u/Saha_Saha)\
**Post date:** [August 7, 2018, 9:54pm UTC](https://discourse.slicer.org/t/how-to-convert-model-to-markups/3665/7 "2018-08-07T21:54:34Z")

</div>

Thank you very much.

I downloaded from “[https://github.com/smclach/PedicleScrewSimulator](https://github.com/smclach/PedicleScrewSimulator)”. But It is not working like the video. I think, it has been changed. Some of the function are different. Moreover, screw placement are not working. However, I need to find optimal path through bone channel numerically. So that I can show the evidence that it is the optimal path. Could you please suggest me how can I do?

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [August 8, 2018, 7:00am UTC](https://discourse.slicer.org/t/how-to-convert-model-to-markups/3665/8 "2018-08-08T07:00:43Z")

</div>

I’ve fixed the issues in my fork: [https://github.com/lassoan/PedicleScrewSimulator](https://github.com/lassoan/PedicleScrewSimulator)

Compute optimal position from a reasonable initial guess should not be a difficult task. If you need hints about how to do it then let us know.

---

<div class="post-metadata">

**Author:** ![Saha\_Saha](https://avatars.discourse-cdn.com/v4/letter/s/3d9bf3/32.png) [@Saha\_Saha](https://discourse.slicer.org/u/Saha_Saha)\
**Post date:** [August 8, 2018, 8:09pm UTC](https://discourse.slicer.org/t/how-to-convert-model-to-markups/3665/9 "2018-08-08T20:09:44Z")

</div>

Please give me the hinds, how can I do it. Moreover, still I am getting error for Load screw and insert screw option. Please find attached picture for your reference. Please give me instruction also for this module, how can I load and insert screw.

 ![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/e/a/eafafedf7bca634b2608f04f3bf41758c9895398.png)

---

<div class="post-metadata">

**Author:** ![ungi](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/ungi/32/78573_2.png) [@ungi](https://discourse.slicer.org/u/ungi)\
**Post date:** [August 9, 2018, 11:17pm UTC](https://discourse.slicer.org/t/how-to-convert-model-to-markups/3665/10 "2018-08-09T23:17:35Z")

</div>

Going back to your original question. You don’t just need to convert bone surface points to markups, but you need specific surface points along the pedicle walls as markups. It will be hard to select the right points automatically, so you may need some points selected by the user to initialize your search. Some time ago I planned a few pedicle screw position with Slicer, and I could do it by selecting only 4 points (2 on medial, 2 on lateral side of the pedicle) and registering those with 4 points selected on the screw model. I just used fiducial registration: [http://perk.cs.queensu.ca/contents/ultrasound-snapshots-percutaneous-pedicle-screw-placement-navigation-feasibility-study](http://perk.cs.queensu.ca/contents/ultrasound-snapshots-percutaneous-pedicle-screw-placement-navigation-feasibility-study)

Regardless how automatic your pedicle screw planning gets, the simulator module in Andras’ fork is a great tool to evaluate the result. Maybe combine that quality score in the search algorithm later.

---

<div class="post-metadata">

**Author:** ![Saha\_Saha](https://avatars.discourse-cdn.com/v4/letter/s/3d9bf3/32.png) [@Saha\_Saha](https://discourse.slicer.org/u/Saha_Saha)\
**Post date:** [August 13, 2018, 1:34am UTC](https://discourse.slicer.org/t/how-to-convert-model-to-markups/3665/11 "2018-08-13T01:34:35Z")

</div>

Thank you for the reply.

How did you get automatic optimal path using 4 points given by user? Could you please explain little more details? I would like to mention you that I have only CT Image available.

---

<div class="post-metadata">

**Author:** ![ungi](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/ungi/32/78573_2.png) [@ungi](https://discourse.slicer.org/u/ungi)\
**Post date:** [August 13, 2018, 4:10am UTC](https://discourse.slicer.org/t/how-to-convert-model-to-markups/3665/12 "2018-08-13T04:10:53Z")

</div>

It is in the paper I linked. Select a CT slice where the screw long axis would be. Select four points on the pedicle (top left, top right, bottom left, bottom right) cross section. And register matching points pre-defined in the middle of the screw. I just used fiducial (landmark) registration.
