SCI Seg3D Mailing List

Text archives Help

RE: [Seg3D] Seg3D

Chronological Thread 
  • From: Marcus A Bobar <>
  • To: Jess <>, "" <>
  • Subject: RE: [Seg3D] Seg3D
  • Date: Thu, 17 May 2018 02:46:37 +0000
  • Accept-language: en-US
  • Ironport-phdr: 9a23:NWy5mhOPVPtNRyiJtpol6mtUPXoX/o7sNwtQ0KIMzox0I/3zrarrMEGX3/hxlliBBdydt6ofzbKO+4nbGkU4qa6bt34DdJEeHzQksu4x2zIaPcieFEfgJ+TrZSFpVO5LVVti4m3peRMNQJW2aFLduGC94iAPERvjKwV1Ov71GonPhMiryuy+4ZLebxlGiTanfb9+MAi9oBnMuMURnYZsMLs6xAHTontPdeRWxGdoKkyWkh3h+Mq+/4Nt/jpJtf45+MFOTav1f6IjTbxFFzsmKHw65NfqtRbYUwSC4GYXX3gMnRpJBwjF6wz6Xov0vyDnuOdxxDWWMMvrRr0yRD+s7bpkSAXwhSkHKTA37X3XhMJzgqJVoh2hpgBwzIHPbY6PKPZzernQcc8GSWZcWMtaSixPApm7b4sKF+cPOvxXr5PhqFsTthu1GBWhD/7yxz9PnXD5x7c62PkmHAHDxwMgGMkBv27OrNjuKacdTfu1w7TSwTrdcvxWxC7w5Y7VeR4vpvGMWKh/ccvXyUQ3CgPFkk+fqYz/MzyLy+sNrnCX7+96WuKzi24mpQZxoiKsxsc3kIXGmoUVylXC+C5kw4g1PcW1RFNnbdK+DZddsyCXO5FrTs4hWW1lvDs2xqUbtZO1fiUG0okrywPDZ/CdcIWF5gjvWPuSLDp3nH5ldqywihWu/UWlz+DwS8a53VdXoSdAiNbAqH4N2hzW58WERPtw8Emh1DOS2w/J6OxJIEY5nrfBJZE72L4/jJ8TvFzGHi/xhUr5krebdl4h+ui08+TnZajmpoOEO490lA7+NqMul9S9D+olKwQDQWmV9+q62rP5/UD1WbpFguQxnKfHrJ3WPcUbpqinDA9Jyosv9gqzAy273NkcnHQLNk9JdRGdg4XtJl3COPX4Au2+g1Sonjdr3ffGPrj5D5XINXfDl6zucqxn60NH1Qo80ctf6I9OBr4fPf3zR1f9tMbEAR8hLwy03+HnBc1/1owAQmKPGbSUMLjOvl+J/O4vPvWMa5UVuDrnNfcq+uPuh2cjmVABZampwYcXaHegE/R9PUqZbnThjcoaHGcRogU+TfbmiECeUTFJZ3a+Rbwz6SwmCNHuMYCWZI22m/TV3iqgBbVNbWEAF0yFETHle5jSH79Gcy+decNJiTcFE6W9Qo9n2B2z/keu0Ldodeb84SYZ84//3dgz6uHOw0Ic7ztxWuGUyWqQVCld1kkPTTYslPR6q0t3w02rzKNjj7pVGcEFtKABaRszKZOJl78yMNv1QA+UJto=

Hi Jess,

I just wanted to check back in regarding the possibility of adding interpolation to the polyline feature.

Recently, I've developed a couple different algorithms in MATLAB using a piece-wise periodic spline curve interpolation (link and some info below) with great results and I think that it could be applicable to a potential algorithm in Seg3D. You just need to have the points in order and the first and last points be the same. I assume the language in which Seg3D is coded is different than MATLAB, but it seems like the algorithm should be adaptable without too much trouble. What I've done once I have the curve and the break points, is express the piece-wise function evenly around the curve for a number of points and then I used an 'in-polygon' function (link below) to create a mask for the pixel points that lie inside the curve. I'm an ok programmer at best and even with my average skills the algorithm was relatively quick to run for a given ROI.

I'm passing along this info because: A. Our lab could really, really use interpolation to create curved borders for cardiac MR images more quickly; B. I'm sure you are always busy just like I am, so I figure some preliminary  work being done is helpful; C. We would love you forever if you can incorporate interpolation and I promise to mention you in the next couple papers we right this year for your efforts. Thank you in advance for your consideration.

Best Regards,
Marcus Bobar
Seaweed Canyon Physiology Laboratory,
Division of Cardiology

Spline Curve:

"curve = cscvn(points) returns a parametric variational, or natural, cubic spline curve (in ppform) passing through the given sequence points(:j), j = 1:end. The parameter value t(j) for the jth point is chosen by Eugene Lee's [1] centripetal scheme, i.e., as accumulated square root of chord length.

If the first and last point coincide (and there are no other repeated points), then a periodic cubic spline curve is constructed. However, double points result in corners."


From: [] on behalf of Jess []
Sent: Thursday, September 21, 2017 3:33 PM
Cc: Marcus A Bobar
Subject: Re: [Seg3D] Seg3D

Hi Marcus,

We will see if we can incorporate different interpolation methods in the polyline tool in a future release.  

In the meantime, we have a new tool that may do what you need called the Implicit Model tool. With this tool, the user selects several points on the surface of the ROI and the tool will try to build a 3D  surface and segmentation of the region using radial basis functions.  Please try this tool out and if you have questions, do not hesitate to ask.  


On Sep 21, 2017, at 1:40 PM, Greg M. Jones <> wrote:

Hi Marcus,

Let me push this through our executive body and software team and see if I can gain some traction on working on these features...  More as I know it.

Thanks for using Seg3D and thanks for helping us toward making Seg3D better!


Dr. Greg M. Jones
Associate Director
Scientific Computing and Imaging (SCI) Institute
University of Utah

On Sep 21, 2017, at 1:34 PM, Marcus A Bobar wrote:

Hello Greg,

I'm a research fellow under Dr. Kirk Peterson at the University of California San Diego in the School of Medicine and I run the MR Core for the Department of Cardiology. We have developed quite a robust small animal cardiac MR program over the last year to the point where we are up to our eyeballs in Cardiac MR image segmentation. I'm writing you because Seg3D is the program we use to segment all of our images and I was told that you might be the person to speak with regarding a feature suggestion that would help us (and I'm sure many others) out tremendously.

We love Seg3D for the ease of use, volume segmentation, user interface, and simple data exporting. We use the 'Polyline' feature to segment ROI's because, even with good quality images, in-vivo cardiac MR image analysis requires a critical eye and experienced user control of border segmentation. The polyline feature allows for great user control, however, many points must be used to create nice, curved ROI's and often adjustments must be made so that the lines between points do not create sharp corners when you 'fill' the polyline, which is very time-consuming. Since our 3D modeling data is only as good as our image analysis, careful image segmentation has become a significant bottleneck and, at times, has been a prohibitive factor in the kind of studies we can conduct.  
I would like to recommend adding an option/function/button with the polyline that allows you to create a bicubic interpolation between the points of the polyline. For example, a user would place something like 15-20 points along a curved border (which would normally create a relatively linear-looking ROI) and then the user would click on a bicubic interpolation button. The polygon would then become a nice, smooth bicubic interpolation creating a better approximation of a given curved border and saving considerable time in the process. The user would then fill-in the curved line to create their new, more accurate mask layer. I would also recommend a 'revert' feature that will revert back to the original linear polyline to allow for adjustments, such as re-positioning points or adding points to better deal with very tight curves.

I have seen this type of interpolation work great with our cardiac 3D modeling program (Continuity 6 from the UCSD Cardiac Mechanics Group). The program uses bicubic meshes to interpolate and refine data in 3D space creating very nicely curved surfaces, so I believe that it would also work well with 2D images. This type of function would be such a big help for the Department of Cardiology and the Cardiac Mechanics Group in Bioengineering because they also use Seg3D primarily as well. Hopefully, I've explained the suggestion clearly, but if not, please don't hesitate to contact me with questions.

Thank you in advance for your consideration.

Marcus Bobar
Seaweed Canyon Physiology Laboratory,
UCSD Division of Cardiology

Seg3d mailing list:
To unsubscribe, email with the "unsubscribe seg3d" in the message body.

Archive powered by MHonArc 2.6.18.

Top of page