# Help with Landmark placement: Not actually placed on PLY surface

**URL:** <https://discourse.slicer.org/t/help-with-landmark-placement-not-actually-placed-on-ply-surface/43492>\
**Category:** Support\
**Tags:** markups-fiducials\
**Created:** [June 25, 2025, 4:16pm UTC](https://discourse.slicer.org/t/help-with-landmark-placement-not-actually-placed-on-ply-surface/43492 "2025-06-25T16:16:36Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![jsguerra](https://avatars.discourse-cdn.com/v4/letter/j/919ad9/32.png) [@jsguerra](https://discourse.slicer.org/u/jsguerra)\
**Post date:** [June 25, 2025, 4:16pm UTC](https://discourse.slicer.org/t/help-with-landmark-placement-not-actually-placed-on-ply-surface/43492/1 "2025-06-25T16:16:36Z")

</div>

Hello! I was placing some landmarks on a PLY surface and noticed that when I place/reposition a landmark to my desired position (Fig. 2), the landmark is not actually touching the model surface (Fig. 2). Is this normal or am I doing something wrong?

I have the 3D Display placement settings as “snap to visible surface,” which I though meant that it would place the landmark on the surface. Am I misunderstanding this as well?

**Fig. 1**

 ![slicer_landmark placement_center view_zoomed](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/7/5/75b0d2942f62a30be76fcca42a234bec3fecbca8.png)

**Fig. 2**

 ![slicer_landmark placement_center view_zoomed_diff viewpoint](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/f/d/fdc47d4ebd5746517a24ec1ee78aeabb27cd1db5.png)

---

<div class="post-metadata">

**Author:** ![muratmaga](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/muratmaga/32/3622_2.png) [@muratmaga](https://discourse.slicer.org/u/muratmaga)\
**Post date:** [June 25, 2025, 4:22pm UTC](https://discourse.slicer.org/t/help-with-landmark-placement-not-actually-placed-on-ply-surface/43492/2 "2025-06-25T16:22:12Z")

</div>

We would need the data to replicate.

One possibility is that you have single vertex that’s floating in space and too small to see (though from your close up I don’t think that’s the case). Regardless, run the model through the Surface Toolbox with **extract largest component option** enabled, and retry with the new model.

If it doesn’t work, share your model and let us know what platform you are using Slicer and the release number.

---

<div class="post-metadata">

**Author:** ![jsguerra](https://avatars.discourse-cdn.com/v4/letter/j/919ad9/32.png) [@jsguerra](https://discourse.slicer.org/u/jsguerra)\
**Post date:** [June 25, 2025, 4:46pm UTC](https://discourse.slicer.org/t/help-with-landmark-placement-not-actually-placed-on-ply-surface/43492/3 "2025-06-25T16:46:06Z")

</div>

I ran the model through the Surface Toolbox as suggested and it improved the placement (Fig. 1 & 2) but when I choose to “Refocus camera on point” and Zoom in further, I still get a floating point (Fig. 3).

**Fig. 1**

 ![slicer_landmark placement_center view_extracted](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/b/e/be107c46c463e4ce38d1589a025406b5e5394f89.png)  
**Fig. 2**  
 ![slicer_landmark placement_extracted_center view_zoomed_diff viewpoint](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/4/b/4be633a4cc9cb19fb775e8c0419c8dd048297582.png)  
**Fig. 3**  
 ![slicer_landmark placement_extracted_refocus on point_zoomed_diff viewpoint](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/0/e/0ecef5c2414b21a2fca8e55d5b5ad6719f1ef223.png)

Happy to share the original PLY file but it won’t let me upload it here. I’m using Slicer 5.6.2 on Windows.

---

<div class="post-metadata">

**Author:** ![muratmaga](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/muratmaga/32/3622_2.png) [@muratmaga](https://discourse.slicer.org/u/muratmaga)\
**Post date:** [June 25, 2025, 5:23pm UTC](https://discourse.slicer.org/t/help-with-landmark-placement-not-actually-placed-on-ply-surface/43492/4 "2025-06-25T17:23:29Z")

</div>

> [@jsguerra](#):
>
> Happy to share the original PLY file but it won’t let me upload it here. I’m using Slicer 5.6.2 on Windows.

yes, you need to put somewhere on the cloud (e.g., google drive, one drive), share it publicly and provide the link here.

---

<div class="post-metadata">

**Author:** ![jsguerra](https://avatars.discourse-cdn.com/v4/letter/j/919ad9/32.png) [@jsguerra](https://discourse.slicer.org/u/jsguerra)\
**Post date:** [June 25, 2025, 5:28pm UTC](https://discourse.slicer.org/t/help-with-landmark-placement-not-actually-placed-on-ply-surface/43492/5 "2025-06-25T17:28:05Z")

</div>

Of course 🤦‍♂️

Here you go: [Slicer Support - Landmarks - Google Drive](https://drive.google.com/drive/folders/11np3tTsxFZIx8pq5QtnxAdy0Wb4hYHRU?usp=sharing)

---

<div class="post-metadata">

**Author:** ![muratmaga](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/muratmaga/32/3622_2.png) [@muratmaga](https://discourse.slicer.org/u/muratmaga)\
**Post date:** [June 25, 2025, 5:45pm UTC](https://discourse.slicer.org/t/help-with-landmark-placement-not-actually-placed-on-ply-surface/43492/6 "2025-06-25T17:45:34Z")

</div>

I can’t replicate this with my Mac on a recent preview. It picks always on the model.

 ![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/f/2/f2671402c4c46d60a74728672a9eb0d340e9ad2d.png)

The only I time I can sort of see this, if I zoom in unrealistically close like this, which I think the rendering breaks down. I don’t even see the scale anymore, if displayed it would be at scale of nanometers for this data. I wouldn’t worry about this…

 ![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/1/d/1d0291f2e42523a0e714dc84780d3f3c6c4d477e.png)

My suggestion, try with the latest preview on your window. You 5.6.2 is now deprecated.

---

<div class="post-metadata">

**Author:** ![jsguerra](https://avatars.discourse-cdn.com/v4/letter/j/919ad9/32.png) [@jsguerra](https://discourse.slicer.org/u/jsguerra)\
**Post date:** [June 25, 2025, 7:10pm UTC](https://discourse.slicer.org/t/help-with-landmark-placement-not-actually-placed-on-ply-surface/43492/7 "2025-06-25T19:10:23Z")

</div>

Interesting… Did you run the model through Surface Toolbox or run the original?

I updated to Slicer 5.9.0, extracted the surface with Surface Toolbox and tried landmarking again. I added the scale to compare to your images and I’m getting the floating issue at around wider zoom of 100um.

 ![slicer590_landmark placement_extracted_zoom](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/f/f/ffc7a6b9e0c8c9c7e2a5302cb7ead3d5f1b2ce28.jpeg)

I then repositioned the landmark and it looked like it was on the surface but when I zoom to around 25um, I have a floating point again.

 ![slicer590_landmark placement_extracted_zoom_reposition](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/8/d/8d7f3a6d89b44547c852d700053667a067e36fb3.jpeg)

I tried this with the original as well. I followed the same procedure: placed landmark initially and then zoomed to adjust the placement and I get a very similar result.

 ![slicer590_landmark placement_original_zoom](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/8/3/831d194750be900c4cc86bc2938fb272e908182c.jpeg)

Could this be an issue on Windows, just my computer, or my landmarking? Realistically, would this discrepancy affect a 3DGM analysis or ALPACA?

---

<div class="post-metadata">

**Author:** ![muratmaga](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/muratmaga/32/3622_2.png) [@muratmaga](https://discourse.slicer.org/u/muratmaga)\
**Post date:** [June 25, 2025, 7:28pm UTC](https://discourse.slicer.org/t/help-with-landmark-placement-not-actually-placed-on-ply-surface/43492/8 "2025-06-25T19:28:44Z")

</div>

> [@jsguerra](#):
>
> Interesting… Did you run the model through Surface Toolbox or run the original?

I used the model as is.

> [@jsguerra](#):
>
> Could this be an issue on Windows, just my computer, or my landmarking? Realistically, would this discrepancy affect a 3DGM analysis or ALPACA?

If you put the point manually on the model via markups, it should snap to the surface. However, any downstream modification (manully repositioning it) may modify it. To me it still looks like maybe a camera and rendering issue at the close range, but someone more familiar with that needs to comment on

@lassoan @pieper any thoughts?

---

<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:** [June 26, 2025, 3:48pm UTC](https://discourse.slicer.org/t/help-with-landmark-placement-not-actually-placed-on-ply-surface/43492/9 "2025-06-26T15:48:40Z")

</div>

We use [vtkCellPicker](https://vtk.org/doc/nightly/html/classvtkCellPicker.html) with [tolerance set to 0.005](https://github.com/Slicer/Slicer/blob/ebdd8127bbffa9ae01c1d37eaadd24ad0cff0fef/Modules/Loadable/Markups/VTKWidgets/vtkSlicerMarkupsWidgetRepresentation3D.cxx#L202-L203) to find point on a visible surface (the tolerance allows picking a triangle if the picking line just misses the edge of a cell). This tolerance value is scaled with the window size internally, so it is hard to tell what physical distance from surface this tolerance can lead to, but I can confirm that reducing the tolerance from 0.005 to 0.00005 made the point more accurately snap to the surface (I could not zoom in enough the view to see the separation from surface anymore).

If this tolerance value is too high for your application (e.g., because you work with microscopic structures and your entire model’s physical size is just a few tenth of a millimeter) then you can rescale your model (using Transforms module) and adjust the length unit in the scene accordingly. However, implementation of custom unit is not fully complete (see known limitations [here](https://github.com/Slicer/Slicer/issues/5040)), so it may be better to just rescale your model, leave the length unit unchanged, and note that you need to divide the displayed values by 10/100/1000 to get the correct physical values.

Alternatively, we could change this tolerance value in Slicer. Probably it would not cause perceivable difference in speed or quality of the pick, but below a certain tolerance value, numerical inaccuracies may cause picking failures. So, we would need to spend some time with testing before we reduce the tolerance value. I’ve added an issue to track this:

> <https://github.com/Slicer/Slicer/issues/8512>
>
> \## Summary
> 
> When zooming in a 3D view then markup point dropped on a surface may… appear at a distance of about a few micrometer from the surface.
> 
> \## Steps to reproduce
> 
> See https://discourse.slicer.org/t/help-with-landmark-placement-not-actually-placed-on-ply-surface/43492/8
> 
> \## Environment
> \- Slicer version: Slicer-5.9.1-2025-06-18
> \- Operating system: all

---

<div class="post-metadata">

**Author:** ![muratmaga](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/muratmaga/32/3622_2.png) [@muratmaga](https://discourse.slicer.org/u/muratmaga)\
**Post date:** [June 26, 2025, 3:54pm UTC](https://discourse.slicer.org/t/help-with-landmark-placement-not-actually-placed-on-ply-surface/43492/10 "2025-06-26T15:54:20Z")

</div>

> [@jsguerra](#):
>
> Realistically, would this discrepancy affect a 3DGM analysis or ALPACA?

Sorry, I missed this question. Answer is a solid NO. You (as the individual) would be making far larger error than 25 micron, when you try to pick the same spot on the same model at a different day. Hence this technical error is likely far smaller than your individual error, and you don’t need to be concerned about it.
