# Perpendicular view functionalities

**URL:** <https://discourse.slicer.org/t/perpendicular-view-functionalities/28214>\
**Category:** Support\
**Created:** [March 7, 2023, 1:01pm UTC](https://discourse.slicer.org/t/perpendicular-view-functionalities/28214 "2023-03-07T13:01:33Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![bserrano](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/bserrano/32/17034_2.png) [@bserrano](https://discourse.slicer.org/u/bserrano)\
**Post date:** [March 7, 2023, 1:01pm UTC](https://discourse.slicer.org/t/perpendicular-view-functionalities/28214/1 "2023-03-07T13:01:34Z")

</div>

Hi all,

I am trying to segment coronary vessels. For this job I use the Endoscopy module, which builds perpendicular planes along a centerline. And I’m struggling with the following issues:

1. I cannot modify the number of frames, even if the centerline a different number of points. Is it possible to get more frames?

2. If I use the paint tool in the perpendicular plane it acts differently if I click or if I drag with the same threshold. Why is that?

![imagen](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/9/8/98dd924990b81d2073ba924bd876aeea382dacfb.png)

Drag:  
 ![imagen](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/7/2/7273d840a715cfef3fce3e6d49a56faa06b8adf5.png)  
Result:  
 ![imagen](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/a/c/ace1116e94a7a2047a1b21e532551b99193ef8e2.png)

1. Tool feel between slices works fine if the slices are in axial but works poorly if they are painted in perpendicular view. How can I fix that?

---

<div class="post-metadata">

**Author:** ![chir.set](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/chir.set/32/66982_2.png) [@chir.set](https://discourse.slicer.org/u/chir.set)\
**Post date:** [March 7, 2023, 5:26pm UTC](https://discourse.slicer.org/t/perpendicular-view-functionalities/28214/2 "2023-03-07T17:26:58Z")

</div>

> [@bserrano](#):
>
> segment coronary vessels

You may try ‘[Guided artery segmentation](https://github.com/vmtk/SlicerExtension-VMTK/blob/master/Docs/GuidedArterySegmentation.md)’ in SlicerVMTK extension, that you can install using the ‘Extensions manager’.

The result always depends on the quality of the contrasted CT scan, how diseased the target vessel to segment is and how much you want to segment. In general, less is better.

---

<div class="post-metadata">

**Author:** ![chir.set](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/chir.set/32/66982_2.png) [@chir.set](https://discourse.slicer.org/u/chir.set)\
**Post date:** [March 7, 2023, 5:38pm UTC](https://discourse.slicer.org/t/perpendicular-view-functionalities/28214/3 "2023-03-07T17:38:02Z")

</div>

> [@bserrano](#):
>
> perpendicular planes along a centerline

You may also do that without segmenting.

'[Cross-section analysis’](https://github.com/vmtk/SlicerExtension-VMTK/blob/master/Docs/CrossSectionAnalysis.md) module is handy for that. It’s also in SlicerVMTK extension.

You should then use an ‘Open curve’ along the blood vessel. You may place the control points either at the best estimate of the center of the artery downstream, or on its surface (without spirals) such that the curve remains parallel to the artery’s axis.

---

<div class="post-metadata">

**Author:** ![bserrano](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/bserrano/32/17034_2.png) [@bserrano](https://discourse.slicer.org/u/bserrano)\
**Post date:** [March 8, 2023, 3:12pm UTC](https://discourse.slicer.org/t/perpendicular-view-functionalities/28214/4 "2023-03-08T15:12:53Z")

</div>

Hi, many thanks for the recommendation.

We discovered [Quick artery segmentation](https://github.com/vmtk/SlicerExtension-VMTK/blob/master/Docs/QuickArterySegmentation.md) module, which seems to be very useful too. Is there more documentation about how to set the parameters and how they work?

---

<div class="post-metadata">

**Author:** ![chir.set](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/chir.set/32/66982_2.png) [@chir.set](https://discourse.slicer.org/u/chir.set)\
**Post date:** [March 8, 2023, 3:54pm UTC](https://discourse.slicer.org/t/perpendicular-view-functionalities/28214/5 "2023-03-08T15:54:35Z")

</div>

> [@bserrano](#):
>
> Is there more documentation about how to set the parameters and how they work

No, the main page you pointed to is the only one.

The trick is to adapt the ‘Flood filling parameters’. Contrast in the arterial lumen is usually between 200 - 450 HU, and the default parameters are good enough.

If the intensity range is much higher, use a higher ‘Intensity tolerance’, and inversely. A mouse click is simulated at each control point. The intensity range given to the connectivity filter is the HU value at that point +/- the ‘Intensity tolerance’, i.e., “Find voxels that are connected with this intensity range”. This is the ‘Flood filling’ effect of the ‘Segment editor’ that is being remotely controlled.

The ‘Neighbourhood size’ parameter controls leakage. The higher it is, the less leakage occurs, with more processing time.

With good quality CT scans, it can save time. Please note that it targets short portions of arteries to study, like carotid/femoral bifurcations, first few centimeters of visceral arteries… Aorta to popliteal study cannot give good results, you should then do each step independently.

Lastly, very tight, pre-occlusive stenosis as we say, remains a challenge for segmentation, the more so as major calcifications complicate matters.

---

<div class="post-metadata">

**Author:** ![bserrano](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/bserrano/32/17034_2.png) [@bserrano](https://discourse.slicer.org/u/bserrano)\
**Post date:** [March 9, 2023, 4:38pm UTC](https://discourse.slicer.org/t/perpendicular-view-functionalities/28214/6 "2023-03-09T16:38:37Z")

</div>

> [@chir.set](#):
>
> The intensity range given to the connectivity filter

We’ve been testing the algorithm with some patients and it works pretty well. We wonder if there is a “border detection algorithm” or is just pointIntensity +/- intensity tolerance. How does quick artery segmentation work then?

What do you mean by “connectivity filter”?

Many thanks 🙂

---

<div class="post-metadata">

**Author:** ![chir.set](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/chir.set/32/66982_2.png) [@chir.set](https://discourse.slicer.org/u/chir.set)\
**Post date:** [March 9, 2023, 5:44pm UTC](https://discourse.slicer.org/t/perpendicular-view-functionalities/28214/7 "2023-03-09T17:44:07Z")

</div>

> [@bserrano](#):
>
> What do you mean by “connectivity filter”?

You may check this class : [vtkImageThresholdConnectivity](https://vtk.org/doc/nightly/html/classvtkImageThresholdConnectivity.html).

> [@bserrano](#):
>
> is just pointIntensity +/- intensity tolerance

The details are [here](https://github.com/lassoan/SlicerSegmentEditorExtraEffects/blob/a7785ddc0c9e362eeeb3079bedb5ea18507b2d1e/SegmentEditorFloodFilling/SegmentEditorFloodFillingLib/SegmentEditorEffect.py#L191).

---

<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:** [March 10, 2023, 10:11pm UTC](https://discourse.slicer.org/t/perpendicular-view-functionalities/28214/8 "2023-03-10T22:11:42Z")

</div>

> [@chir.set](#):
>
> You may check this class : [vtkImageThresholdConnectivity](https://vtk.org/doc/nightly/html/classvtkImageThresholdConnectivity.html).

This is available in Flood filling effect in Segment Editor (provided by SegmentEditorExtraEffects extension).

---

<div class="post-metadata">

**Author:** ![chir.set](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/chir.set/32/66982_2.png) [@chir.set](https://discourse.slicer.org/u/chir.set)\
**Post date:** [March 10, 2023, 10:17pm UTC](https://discourse.slicer.org/t/perpendicular-view-functionalities/28214/9 "2023-03-10T22:17:00Z")

</div>

> [@lassoan](#):
>
> This is available in Flood filling effect

Yes, ‘Flood filling’ is what I referenced above indeed, and from where I discovered this class.
