vmtk-users Mailing List for Vascular Modeling Toolkit (Page 12)
Brought to you by:
davidsteinman,
lucantiga
You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(4) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(7) |
2007 |
Jan
(13) |
Feb
(3) |
Mar
(8) |
Apr
(8) |
May
(4) |
Jun
(12) |
Jul
(1) |
Aug
(1) |
Sep
(2) |
Oct
|
Nov
|
Dec
|
2008 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
(7) |
Jun
(1) |
Jul
(27) |
Aug
(3) |
Sep
|
Oct
(35) |
Nov
(17) |
Dec
(4) |
2009 |
Jan
(14) |
Feb
(13) |
Mar
(41) |
Apr
(20) |
May
(12) |
Jun
(24) |
Jul
(6) |
Aug
(25) |
Sep
|
Oct
(42) |
Nov
(33) |
Dec
(17) |
2010 |
Jan
(6) |
Feb
(11) |
Mar
(24) |
Apr
(13) |
May
(18) |
Jun
(32) |
Jul
(8) |
Aug
(10) |
Sep
(12) |
Oct
(33) |
Nov
(40) |
Dec
(4) |
2011 |
Jan
(6) |
Feb
(32) |
Mar
(12) |
Apr
(7) |
May
(18) |
Jun
(8) |
Jul
(16) |
Aug
(10) |
Sep
(37) |
Oct
(16) |
Nov
(21) |
Dec
(43) |
2012 |
Jan
(30) |
Feb
(22) |
Mar
(42) |
Apr
(39) |
May
(56) |
Jun
(47) |
Jul
(42) |
Aug
(10) |
Sep
(45) |
Oct
(21) |
Nov
(14) |
Dec
(11) |
2013 |
Jan
(15) |
Feb
(33) |
Mar
(74) |
Apr
(50) |
May
(57) |
Jun
(21) |
Jul
(27) |
Aug
(35) |
Sep
(2) |
Oct
|
Nov
|
Dec
|
2014 |
Jan
(3) |
Feb
(2) |
Mar
|
Apr
|
May
(1) |
Jun
(1) |
Jul
(1) |
Aug
(1) |
Sep
|
Oct
(1) |
Nov
|
Dec
|
2015 |
Jan
(1) |
Feb
|
Mar
(2) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
(2) |
2016 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2019 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Luca A. <luc...@or...> - 2013-02-17 22:08:12
|
Hi Evan, I checked the models, in fact the jagged endcaps seem to really make a difference. I clipped the endcaps using vmtksurfaceclipper (interactively) and centerlines succeed. I checked to see if the surface had spurious holes (it doesn't) or non-manifold edges (it doesn't either), so I'm still not sure of what's causing the actual issue, I'll have to investigate more. It could be that the jagged normals cause the Delaunay peeling algorithm to fail, but the resulting Voronoi diagram looks ok. I'll have to check if there's any degenerate polygon that doesn't get rendered. Anyway, related to the use of a clipped model for the centerlines, please note that there's no problem in using a slightly different model for computing centerlines - if anything they won't end exactly at the original endcaps, but for 90% of the cases it doesn't really matter. Best, Luca On Feb 14, 2013, at 9:13 PM, Evan Kao wrote: > Hello Luca, > > I've attached a few surfaces if you want to look at them: > - surface without extensions > - surface with extensions > - surface with extensions and smoothed at the outlet/extension interfaces using a solid modeling program > > I tried to obtain extensions that fit better to the outlet normals by using a smaller (than 1) normalestimationratio but didn't have much luck. > > Thanks, > Evan Kao > > > On Fri, Feb 8, 2013 at 9:33 AM, Luca Antiga <luc...@or...> wrote: > Hi Evan, > it looks like the external delaunay tetrahedra are not properly removed, > and I think the reason lies with oddly oriented normals at the transition at > the endcaps. > Anyway, I'd need to have the surface to understand the actual reason and > how to get around it. In the meantime you can try cutting manually, using > vmtksurfaceclipper. > Cheers > > Luca > > > On Feb 5, 2013, at 11:34 PM, Evan Kao wrote: > > > Hello, > > > > I am having trouble getting vmtkcenterlines to work properly with a specific model. Using the commands outlined in the tutorials, I opened the endcaps and added flow extensions. For specific reasons, I imported this surface into a solid modeling software (Rapidform) and remeshed it to smooth out the transitions between the openings and flow extensions. However, this action closes the endcaps at the end of the flow extensions, so to re-open them I tried using the automatic option in vmtk again. However, it appears vmtkcenterlines has trouble calculating the centerlines to/from one of the openings, and the result is attached. > > > > Any ideas about what could be causing this problem and/or how to fix it? > > > > Thanks for your time, > > Evan Kao > > <vmtk-screenshot-5.png>------------------------------------------------------------------------------ > > Free Next-Gen Firewall Hardware Offer > > Buy your Sophos next-gen firewall before the end March 2013 > > and get the hardware for free! Learn more. > > http://p.sf.net/sfu/sophos-d2d-feb_______________________________________________ > > vmtk-users mailing list > > vmt...@li... > > https://lists.sourceforge.net/lists/listinfo/vmtk-users > > > <any011_sdb_cl_2_ct_ext_mani.stl><any011_sdb_cl_2_ct.stl><any011_sdb_cl_2_ct_ext.stl> |
From: Luca A. <luc...@gm...> - 2013-02-15 14:09:50
|
Hi Roman, can you please send me the incriminated surface? Thanks Luca On Feb 13, 2013, at 3:36 PM, Dr. Roman Grothausmann wrote: > Dear mailing list members, > > > vmtkcenterlines segfaults with a specific data-set of mine. It works all fine > with similar data-sets. I generally get a lot of > > Generic Warning: In > /home/grothama/programme/vmtk-1.0.1/build_iana0_130211/VTK/Common/vtkMath.cxx, > line 553 > Unable to factor linear system > > but then it segfaults with: > > *** glibc detected *** python: corrupted double-linked list: 0x000000000ea4f9c0 *** > ======= Backtrace: ========= > /lib/x86_64-linux-gnu/libc.so.6(+0x76d76)[0x7fe2488ddd76] > /lib/x86_64-linux-gnu/libc.so.6(+0x7880c)[0x7fe2488df80c] > /lib/x86_64-linux-gnu/libc.so.6(cfree+0x6c)[0x7fe2488e2aac] > /usr/lib/x86_64-linux-gnu/tls/libnvidia-tls.so.304.64(+0x1cc1)[0x7fe23f628cc1] > ======= Memory map: ======== > . > . > . > > How could I solve this problem? > > Any help or hints are very much appreciated > Roman > > > -- > Dr. Roman Grothausmann > > Tomographie und Digitale Bildverarbeitung > Tomography and Digital Image Analysis > > Institut für Funktionelle und Angewandte Anatomie, OE 4120 > Medizinische Hochschule Hannover > Carl-Neuberg-Str. 1 > D-30625 Hannover > > Tel. +49 511 532-9574 > > ------------------------------------------------------------------------------ > Free Next-Gen Firewall Hardware Offer > Buy your Sophos next-gen firewall before the end March 2013 > and get the hardware for free! Learn more. > http://p.sf.net/sfu/sophos-d2d-feb > _______________________________________________ > vmtk-users mailing list > vmt...@li... > https://lists.sourceforge.net/lists/listinfo/vmtk-users |
From: Evan K. <to...@gm...> - 2013-02-14 19:30:43
|
Thanks, Luca. I replaced the file and it works fine now. On Fri, Feb 8, 2013 at 9:20 AM, Luca Antiga <luc...@gm...> wrote: > Hi Evan, > indeed you're right, there's no 64-bit version. Actually, we had > one but there were problems with it and we never released it. > > I nailed it. It's a bug in the Windows version of vmtk and apparently > it has been there forever. > > In your vmtk Windows installation folder, look for this file > > lib/vmtk/vmtk/vtkvmtk.py > > and replace it with the one attached. That should solve it. > > Long story short: we have to re-release asap! > > > Luca > > > > > On Feb 5, 2013, at 11:44 PM, Evan Kao wrote: > > Hello Luca, > > This seems to the first script that failed, but I will keep track of > others. > > Also, just to be clear, are you suggesting that I compile vmtk myself or > to just get download the 32-bit binary installer? Because I am already > using the 32-bit version, since there is no 64-bit Win XP version available > on Sourceforge. > > Thanks, > Evan > > On Mon, Feb 4, 2013 at 2:53 AM, Luca Antiga <luc...@gm...> wrote: > >> Hi Evan, >> this is tricky because I couldn't replicate the issue on our Windows box. >> I remember, however, that when we did our release XP 64bit was the >> trickiest, >> for some reason. >> >> Do you know if there are other scripts that fail? >> >> Also, can you try with the 32 bit version of the vmtk installers? >> >> Thanks for any feedback. >> >> >> Luca >> >> >> On Jan 31, 2013, at 6:21 PM, Evan Kao wrote: >> >> Hello Luca, >> >> I am using the binaries. >> >> On Thu, Jan 31, 2013 at 7:13 AM, Luca Antiga <luc...@gm...>wrote: >> >>> Hi Evan, >>> are you using Windows binaries or did you compile vmtk yourself? >>> >>> Luca >>> >>> On Jan 31, 2013, at 1:18 AM, Evan Kao wrote: >>> >>> > Hello, >>> > >>> > I have just been running through the vmtk tutorials (using our own >>> imaging data), but hit a snag during mesh generation. The command seems >>> straightforward: >>> > >>> > vmtkmeshgeneration -ifile *.stl -ofile *.vtu -edgelength 0.5 >>> > >>> > However, an error seems to occur during capping. The Python command >>> window gives the error: >>> > >>> > "Error from pype: 'module' object has no attribute >>> 'vtkvmtkSimpleCapPolyData'." >>> > >>> > A similar message occurs if I use the option -cappingmethod Annular or >>> if just try to cap with vmtksurfacecapper. >>> > >>> > How do I fix this? Here is some info about the related software I am >>> using: >>> > >>> > OS: Windows XP 64-bit SP2 >>> > Python 2.7 >>> > Microsoft Visual Studio 2010 Express (recommended for SP3, but there >>> is no 64-bit SP3) >>> > >>> > Thank you for your time, >>> > Evan >>> > >>> ------------------------------------------------------------------------------ >>> > Everyone hates slow websites. So do we. >>> > Make your web apps faster with AppDynamics >>> > Download AppDynamics Lite for free today: >>> > >>> http://p.sf.net/sfu/appdyn_d2d_jan_______________________________________________ >>> > vmtk-users mailing list >>> > vmt...@li... >>> > https://lists.sourceforge.net/lists/listinfo/vmtk-users >>> >>> >> >> > > > |
From: Ahmed H. <ahm...@gm...> - 2013-02-14 18:51:23
|
Thanks Luca for your help. As you thought osirix used ITK 4.1 ant VMTK used ITK 4.3. I thought it would be ok since osirix is using static lib while VMTK uses dynamic lib. but I think VMTK was using the wrong classes. I had to rename ITK name space so that VMTK use a ITK4.3 classes. Again thanks for your help. Ahmed A. Harouni On Fri, Feb 8, 2013 at 12:26 PM, Luca Antiga <luc...@or...> wrote: > Hi Ahmed, > the issue with OsiriX is very likely that vmtk is probably built against > one version of VTK/ITK, > while OsiriX incorporates a different version. If have to make sure OsiriX > and vmtk link > to the same VTK and ITK libraries. > An alternative would be to write vmtk code as an external executable that > you can then > invoke as an external process from within your OsiriX plugin. You'll need > to write the > images to disk to pass them from OsiriX to vmtk and back, but at least you > won't have > the linking issue. > Hope this helps. > > Luca > > > On Feb 6, 2013, at 7:01 PM, Ahmed Harouni wrote: > > > Dear Luca >> >> Thanks for your efforts and making VMTK available. I downloaded it and >> used it from python on some of the MRI data we have and the results are >> great. Now I want to call it directly for some Osirix plugins that I >> wrote previously. I downloaded VMTK Source and complied it on Mac OSX Lion >> 10.7.5. I linked it with my 64bit plugin written for Osirix 5.5.2. >> I am getting errors of bad memory access when trying to use >> vtkvmtkVesselnessMeasureImageFilter using >> >> vtkvmtkVesselnessMeasureImageFilter *myvessel= >> vtkvmtkVesselnessMeasureImageFilter::New() >> >> I and a newbie to VMTK but I think I need to initialize the filter with >> my image pixel type and size as used in ITK (see below). Could you please >> point me to some examples or the right classes to use as the help found >> online is limited to information found in the header files. >> >> Thanks for your help >> >> Ahmed A. Harouni >> long size = sizeof(float) * imageWidth * imageHeight * imageAmount; >> const unsigned int Dimension = 3; >> typedef float InputPixelType; >> typedef float OutputPixelType; >> typedef itk::Image< InputPixelType, Dimension > InputImageType; >> typedef itk::Image< OutputPixelType, Dimension > OutputImageType; >> typedef itk::HessianRecursiveGaussianImageFilter<InputImageType > >> HessianFilterType; >> typedef itk::Hessian3DToVesselnessMeasureImageFilter<OutputPixelType > >> VesselnessMeasureFilterType; >> typedef itk::ImportImageFilter< InputPixelType, Dimension > >> ImportFilterType; >> ImportFilterType::Pointer importFilter; >> importFilter = ImportFilterType::New(); >> ImportFilterType::SizeType itksize; >> itksize[0] = imageWidth; // size along X >> itksize[1] = imageHeight; // size along Y >> itksize[2] = imageAmount;// size along Z >> ImportFilterType::IndexType start; >> start.Fill( 0 ); >> ImportFilterType::RegionType region; >> region.SetIndex( start ); >> region.SetSize( itksize ); >> importFilter->SetRegion( region ); >> double origin[ 3 ]; >> origin[0] = 0; // X coordinate >> origin[1] = 0; // Y coordinate >> origin[2] = 0; // Z coordinate >> importFilter->SetOrigin( origin ); >> double spacing[ 3 ]; >> spacing[0] = imgspacing[0]; // along X direction >> spacing[1] = imgspacing[1]; // along Y direction >> spacing[2] = imgspacing[2]; // along Z direction >> importFilter->SetSpacing( spacing ); >> const bool importImageFilterWillOwnTheBuffer = false; >> importFilter->SetImportPointer( inData, itksize[0] * itksize[1] * >> itksize[2], importImageFilterWillOwnTheBuffer); >> NSLog(@"ITK Image allocated"); >> HessianFilterType::Pointer hessianFilter = HessianFilterType::New(); >> VesselnessMeasureFilterType::Pointer vesselnessFilter = >> VesselnessMeasureFilterType::New(); >> hessianFilter->SetNormalizeAcrossScale(true); >> hessianFilter->SetInput( importFilter->GetOutput() ); >> vesselnessFilter->SetInput( hessianFilter->GetOutput() ); >> vesselnessFilter->SetAlpha1(0.5); >> vesselnessFilter->SetAlpha2(0.5); >> float m_sigma; >> size = imageWidth * imageHeight * imageAmount;//-4 to protect memory >> overflow when using vec_max >> for(m_sigma=startscale;m_sigma<=endscale;m_sigma+=scalestep) >> { >> hessianFilter->SetSigma(m_sigma); >> try >> { >> vesselnessFilter->Update(); >> } >> >> >> >> > > ------------------------------------------------------------------------------ > Free Next-Gen Firewall Hardware Offer > Buy your Sophos next-gen firewall before the end March 2013 > and get the hardware for free! Learn more. > > http://p.sf.net/sfu/sophos-d2d-feb_______________________________________________ > vmtk-users mailing list > vmt...@li... > https://lists.sourceforge.net/lists/listinfo/vmtk-users > > > |
From: Dr. R. G. <gro...@mh...> - 2013-02-13 14:53:38
|
Dear mailing list members, vmtkcenterlines segfaults with a specific data-set of mine. It works all fine with similar data-sets. I generally get a lot of Generic Warning: In /home/grothama/programme/vmtk-1.0.1/build_iana0_130211/VTK/Common/vtkMath.cxx, line 553 Unable to factor linear system but then it segfaults with: *** glibc detected *** python: corrupted double-linked list: 0x000000000ea4f9c0 *** ======= Backtrace: ========= /lib/x86_64-linux-gnu/libc.so.6(+0x76d76)[0x7fe2488ddd76] /lib/x86_64-linux-gnu/libc.so.6(+0x7880c)[0x7fe2488df80c] /lib/x86_64-linux-gnu/libc.so.6(cfree+0x6c)[0x7fe2488e2aac] /usr/lib/x86_64-linux-gnu/tls/libnvidia-tls.so.304.64(+0x1cc1)[0x7fe23f628cc1] ======= Memory map: ======== . . . How could I solve this problem? Any help or hints are very much appreciated Roman -- Dr. Roman Grothausmann Tomographie und Digitale Bildverarbeitung Tomography and Digital Image Analysis Institut für Funktionelle und Angewandte Anatomie, OE 4120 Medizinische Hochschule Hannover Carl-Neuberg-Str. 1 D-30625 Hannover Tel. +49 511 532-9574 |
From: Luca A. <luc...@or...> - 2013-02-08 17:33:35
|
Hi Evan, it looks like the external delaunay tetrahedra are not properly removed, and I think the reason lies with oddly oriented normals at the transition at the endcaps. Anyway, I'd need to have the surface to understand the actual reason and how to get around it. In the meantime you can try cutting manually, using vmtksurfaceclipper. Cheers Luca On Feb 5, 2013, at 11:34 PM, Evan Kao wrote: > Hello, > > I am having trouble getting vmtkcenterlines to work properly with a specific model. Using the commands outlined in the tutorials, I opened the endcaps and added flow extensions. For specific reasons, I imported this surface into a solid modeling software (Rapidform) and remeshed it to smooth out the transitions between the openings and flow extensions. However, this action closes the endcaps at the end of the flow extensions, so to re-open them I tried using the automatic option in vmtk again. However, it appears vmtkcenterlines has trouble calculating the centerlines to/from one of the openings, and the result is attached. > > Any ideas about what could be causing this problem and/or how to fix it? > > Thanks for your time, > Evan Kao > <vmtk-screenshot-5.png>------------------------------------------------------------------------------ > Free Next-Gen Firewall Hardware Offer > Buy your Sophos next-gen firewall before the end March 2013 > and get the hardware for free! Learn more. > http://p.sf.net/sfu/sophos-d2d-feb_______________________________________________ > vmtk-users mailing list > vmt...@li... > https://lists.sourceforge.net/lists/listinfo/vmtk-users |
From: Luca A. <luc...@or...> - 2013-02-08 17:27:07
|
Hi Ahmed, the issue with OsiriX is very likely that vmtk is probably built against one version of VTK/ITK, while OsiriX incorporates a different version. If have to make sure OsiriX and vmtk link to the same VTK and ITK libraries. An alternative would be to write vmtk code as an external executable that you can then invoke as an external process from within your OsiriX plugin. You'll need to write the images to disk to pass them from OsiriX to vmtk and back, but at least you won't have the linking issue. Hope this helps. Luca On Feb 6, 2013, at 7:01 PM, Ahmed Harouni wrote: > > Dear Luca > > Thanks for your efforts and making VMTK available. I downloaded it and used it from python on some of the MRI data we have and the results are great. Now I want to call it directly for some Osirix plugins that I wrote previously. I downloaded VMTK Source and complied it on Mac OSX Lion 10.7.5. I linked it with my 64bit plugin written for Osirix 5.5.2. > I am getting errors of bad memory access when trying to use vtkvmtkVesselnessMeasureImageFilter using > vtkvmtkVesselnessMeasureImageFilter *myvessel=vtkvmtkVesselnessMeasureImageFilter::New() > > I and a newbie to VMTK but I think I need to initialize the filter with my image pixel type and size as used in ITK (see below). Could you please point me to some examples or the right classes to use as the help found online is limited to information found in the header files. > > Thanks for your help > > Ahmed A. Harouni > > long size = sizeof(float) * imageWidth * imageHeight * imageAmount; > const unsigned int Dimension = 3; > typedef float InputPixelType; > typedef float OutputPixelType; > typedef itk::Image< InputPixelType, Dimension > InputImageType; > typedef itk::Image< OutputPixelType, Dimension > OutputImageType; > typedef itk::HessianRecursiveGaussianImageFilter<InputImageType > HessianFilterType; > typedef itk::Hessian3DToVesselnessMeasureImageFilter<OutputPixelType > VesselnessMeasureFilterType; > typedef itk::ImportImageFilter< InputPixelType, Dimension > ImportFilterType; > ImportFilterType::Pointer importFilter; > importFilter = ImportFilterType::New(); > ImportFilterType::SizeType itksize; > itksize[0] = imageWidth; // size along X > itksize[1] = imageHeight; // size along Y > itksize[2] = imageAmount;// size along Z > ImportFilterType::IndexType start; > start.Fill( 0 ); > ImportFilterType::RegionType region; > region.SetIndex( start ); > region.SetSize( itksize ); > importFilter->SetRegion( region ); > double origin[ 3 ]; > origin[0] = 0; // X coordinate > origin[1] = 0; // Y coordinate > origin[2] = 0; // Z coordinate > importFilter->SetOrigin( origin ); > double spacing[ 3 ]; > spacing[0] = imgspacing[0]; // along X direction > spacing[1] = imgspacing[1]; // along Y direction > spacing[2] = imgspacing[2]; // along Z direction > importFilter->SetSpacing( spacing ); > const bool importImageFilterWillOwnTheBuffer = false; > importFilter->SetImportPointer( inData, itksize[0] * itksize[1] * itksize[2], importImageFilterWillOwnTheBuffer); > NSLog(@"ITK Image allocated"); > HessianFilterType::Pointer hessianFilter = HessianFilterType::New(); > VesselnessMeasureFilterType::Pointer vesselnessFilter = VesselnessMeasureFilterType::New(); > hessianFilter->SetNormalizeAcrossScale(true); > hessianFilter->SetInput( importFilter->GetOutput() ); > vesselnessFilter->SetInput( hessianFilter->GetOutput() ); > vesselnessFilter->SetAlpha1(0.5); > vesselnessFilter->SetAlpha2(0.5); > float m_sigma; > size = imageWidth * imageHeight * imageAmount;//-4 to protect memory overflow when using vec_max > for(m_sigma=startscale;m_sigma<=endscale;m_sigma+=scalestep) > { > hessianFilter->SetSigma(m_sigma); > try > { > vesselnessFilter->Update(); > } > > > > > ------------------------------------------------------------------------------ > Free Next-Gen Firewall Hardware Offer > Buy your Sophos next-gen firewall before the end March 2013 > and get the hardware for free! Learn more. > http://p.sf.net/sfu/sophos-d2d-feb_______________________________________________ > vmtk-users mailing list > vmt...@li... > https://lists.sourceforge.net/lists/listinfo/vmtk-users |
From: Luca A. <luc...@gm...> - 2013-02-08 17:20:27
|
Hi Evan, indeed you're right, there's no 64-bit version. Actually, we had one but there were problems with it and we never released it. I nailed it. It's a bug in the Windows version of vmtk and apparently it has been there forever. In your vmtk Windows installation folder, look for this file lib/vmtk/vmtk/vtkvmtk.py and replace it with the one attached. That should solve it. Long story short: we have to re-release asap! Luca On Feb 5, 2013, at 11:44 PM, Evan Kao wrote: > Hello Luca, > > This seems to the first script that failed, but I will keep track of others. > > Also, just to be clear, are you suggesting that I compile vmtk myself or to just get download the 32-bit binary installer? Because I am already using the 32-bit version, since there is no 64-bit Win XP version available on Sourceforge. > > Thanks, > Evan > > On Mon, Feb 4, 2013 at 2:53 AM, Luca Antiga <luc...@gm...> wrote: > Hi Evan, > this is tricky because I couldn't replicate the issue on our Windows box. > I remember, however, that when we did our release XP 64bit was the trickiest, > for some reason. > > Do you know if there are other scripts that fail? > > Also, can you try with the 32 bit version of the vmtk installers? > > Thanks for any feedback. > > > Luca > > > On Jan 31, 2013, at 6:21 PM, Evan Kao wrote: > >> Hello Luca, >> >> I am using the binaries. >> >> On Thu, Jan 31, 2013 at 7:13 AM, Luca Antiga <luc...@gm...> wrote: >> Hi Evan, >> are you using Windows binaries or did you compile vmtk yourself? >> >> Luca >> >> On Jan 31, 2013, at 1:18 AM, Evan Kao wrote: >> >> > Hello, >> > >> > I have just been running through the vmtk tutorials (using our own imaging data), but hit a snag during mesh generation. The command seems straightforward: >> > >> > vmtkmeshgeneration -ifile *.stl -ofile *.vtu -edgelength 0.5 >> > >> > However, an error seems to occur during capping. The Python command window gives the error: >> > >> > "Error from pype: 'module' object has no attribute 'vtkvmtkSimpleCapPolyData'." >> > >> > A similar message occurs if I use the option -cappingmethod Annular or if just try to cap with vmtksurfacecapper. >> > >> > How do I fix this? Here is some info about the related software I am using: >> > >> > OS: Windows XP 64-bit SP2 >> > Python 2.7 >> > Microsoft Visual Studio 2010 Express (recommended for SP3, but there is no 64-bit SP3) >> > >> > Thank you for your time, >> > Evan >> > ------------------------------------------------------------------------------ >> > Everyone hates slow websites. So do we. >> > Make your web apps faster with AppDynamics >> > Download AppDynamics Lite for free today: >> > http://p.sf.net/sfu/appdyn_d2d_jan_______________________________________________ >> > vmtk-users mailing list >> > vmt...@li... >> > https://lists.sourceforge.net/lists/listinfo/vmtk-users >> >> > > |
From: Ahmed H. <ahm...@gm...> - 2013-02-06 18:01:47
|
> Dear Luca > > Thanks for your efforts and making VMTK available. I downloaded it and > used it from python on some of the MRI data we have and the results are > great. Now I want to call it directly for some Osirix plugins that I > wrote previously. I downloaded VMTK Source and complied it on Mac OSX Lion > 10.7.5. I linked it with my 64bit plugin written for Osirix 5.5.2. > I am getting errors of bad memory access when trying to use > vtkvmtkVesselnessMeasureImageFilter using > > vtkvmtkVesselnessMeasureImageFilter *myvessel= > vtkvmtkVesselnessMeasureImageFilter::New() > > I and a newbie to VMTK but I think I need to initialize the filter with my > image pixel type and size as used in ITK (see below). Could you please > point me to some examples or the right classes to use as the help found > online is limited to information found in the header files. > > Thanks for your help > > Ahmed A. Harouni > long size = sizeof(float) * imageWidth * imageHeight * imageAmount; > const unsigned int Dimension = 3; > typedef float InputPixelType; > typedef float OutputPixelType; > typedef itk::Image< InputPixelType, Dimension > InputImageType; > typedef itk::Image< OutputPixelType, Dimension > OutputImageType; > typedef itk::HessianRecursiveGaussianImageFilter<InputImageType > > HessianFilterType; > typedef itk::Hessian3DToVesselnessMeasureImageFilter<OutputPixelType > > VesselnessMeasureFilterType; > typedef itk::ImportImageFilter< InputPixelType, Dimension > > ImportFilterType; > ImportFilterType::Pointer importFilter; > importFilter = ImportFilterType::New(); > ImportFilterType::SizeType itksize; > itksize[0] = imageWidth; // size along X > itksize[1] = imageHeight; // size along Y > itksize[2] = imageAmount;// size along Z > ImportFilterType::IndexType start; > start.Fill( 0 ); > ImportFilterType::RegionType region; > region.SetIndex( start ); > region.SetSize( itksize ); > importFilter->SetRegion( region ); > double origin[ 3 ]; > origin[0] = 0; // X coordinate > origin[1] = 0; // Y coordinate > origin[2] = 0; // Z coordinate > importFilter->SetOrigin( origin ); > double spacing[ 3 ]; > spacing[0] = imgspacing[0]; // along X direction > spacing[1] = imgspacing[1]; // along Y direction > spacing[2] = imgspacing[2]; // along Z direction > importFilter->SetSpacing( spacing ); > const bool importImageFilterWillOwnTheBuffer = false; > importFilter->SetImportPointer( inData, itksize[0] * itksize[1] * > itksize[2], importImageFilterWillOwnTheBuffer); > NSLog(@"ITK Image allocated"); > HessianFilterType::Pointer hessianFilter = HessianFilterType::New(); > VesselnessMeasureFilterType::Pointer vesselnessFilter = > VesselnessMeasureFilterType::New(); > hessianFilter->SetNormalizeAcrossScale(true); > hessianFilter->SetInput( importFilter->GetOutput() ); > vesselnessFilter->SetInput( hessianFilter->GetOutput() ); > vesselnessFilter->SetAlpha1(0.5); > vesselnessFilter->SetAlpha2(0.5); > float m_sigma; > size = imageWidth * imageHeight * imageAmount;//-4 to protect memory > overflow when using vec_max > for(m_sigma=startscale;m_sigma<=endscale;m_sigma+=scalestep) > { > hessianFilter->SetSigma(m_sigma); > try > { > vesselnessFilter->Update(); > } > > > > |
From: Luca A. <luc...@or...> - 2013-02-04 10:52:34
|
Hi Patrick, I see what the issue is. In fact, there currently is no check in the clipping code that guarantees that this situation doesn't occur, and I've been meaning to handle this in a better way for a long time. More than being wide, the vein is not convex. This means that the centerline has to lay in one of the two "ears" of the cross-section, and in this case it chose the outer ear. I included this into the fixes for the next release. In the meantime, what you could do is to smooth the model using vmtksurfacesmoothing to make the cross section is less concave and compute the centerlines from the smoothed model. Then, you can use that set of centerlines to clip the original model. vmtksurfacesmoothing -ifile surface.vtp -passband 0.01 -iterations 30 -ofile surface_smooth.vtp It would be great if you could send me your surface (or a decimated version of it) so that I can use it to test my future solution (I won't use it for anything else). Best, Luca On Feb 1, 2013, at 2:48 AM, Patrick McGah wrote: > Hi all, > > I'm having a problem with clipping branches. I've been able to > successfully calculated the center lines and extracted the branch > groups (the geometry an AV fistula - a vein that's fully connected to > an artery - with one inflow artery, an outflow vein, and an outflow > artery). However, when I use vmtkbranchclipper, the outflow vein is > being cut incorrectly. A small segment of the vein is being grouped > with the inflow artery. Ultimately I want to map and patch the > surfaces of each branch, but the artery can't be mapped correctly > since it's topology is now no longer a cylinder shape. I think part of > this problem is that the vein is very wide, and so the distance from > the wall to the center line is very large. As a result, part of the > vein wall is actually closer in distance to the artery centerline (I > think). Any thought or ways to work around this? > > Thanks, > > Patrick > <Screenshot-1.png><Screenshot-2.png>------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_d2d_jan_______________________________________________ > vmtk-users mailing list > vmt...@li... > https://lists.sourceforge.net/lists/listinfo/vmtk-users |
From: Patrick M. <pmcgah@u.washington.edu> - 2013-02-01 01:49:09
|
Hi all, I'm having a problem with clipping branches. I've been able to successfully calculated the center lines and extracted the branch groups (the geometry an AV fistula - a vein that's fully connected to an artery - with one inflow artery, an outflow vein, and an outflow artery). However, when I use vmtkbranchclipper, the outflow vein is being cut incorrectly. A small segment of the vein is being grouped with the inflow artery. Ultimately I want to map and patch the surfaces of each branch, but the artery can't be mapped correctly since it's topology is now no longer a cylinder shape. I think part of this problem is that the vein is very wide, and so the distance from the wall to the center line is very large. As a result, part of the vein wall is actually closer in distance to the artery centerline (I think). Any thought or ways to work around this? Thanks, Patrick |
From: Luca A. <luc...@gm...> - 2013-01-31 15:13:44
|
Hi Evan, are you using Windows binaries or did you compile vmtk yourself? Luca On Jan 31, 2013, at 1:18 AM, Evan Kao wrote: > Hello, > > I have just been running through the vmtk tutorials (using our own imaging data), but hit a snag during mesh generation. The command seems straightforward: > > vmtkmeshgeneration -ifile *.stl -ofile *.vtu -edgelength 0.5 > > However, an error seems to occur during capping. The Python command window gives the error: > > "Error from pype: 'module' object has no attribute 'vtkvmtkSimpleCapPolyData'." > > A similar message occurs if I use the option -cappingmethod Annular or if just try to cap with vmtksurfacecapper. > > How do I fix this? Here is some info about the related software I am using: > > OS: Windows XP 64-bit SP2 > Python 2.7 > Microsoft Visual Studio 2010 Express (recommended for SP3, but there is no 64-bit SP3) > > Thank you for your time, > Evan > ------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_d2d_jan_______________________________________________ > vmtk-users mailing list > vmt...@li... > https://lists.sourceforge.net/lists/listinfo/vmtk-users |
From: Luca A. <luc...@gm...> - 2013-01-31 15:11:35
|
Hi Brian, thanks for trying this out. The distribution directory is visited if VMTK_ENABLE_DISTRIBUTION is set to ON. It is OFF by default, so, in theory, you shouldn't find vmtk-startup.bat. Can you please check if it's ON or OFF in your build? Thanks! Luca On Jan 28, 2013, at 10:00 PM, Brian Davis wrote: > Ok so I had a little bit of time to clone the fresh tree. I am a little confused as there is a CmakeLists.txt in the "distribution" directory that has the text: > > INSTALL(FILES > "${CMAKE_CURRENT_SOURCE_DIR}/nsis/vmtk-startup.bat" > DESTINATION . > COMPONENT RuntimeExecutables > ) > > But then in the SuberBuild.cmake there is the text > > CONFIGURE_FILE( vmtk_startup.bat.in ${VMTK_INSTALL_DIR}/vmtk_startup.bat ) > > and what appears in the base of the install directory is vmtk-startup.bat with the text: > > rem @echo off > set VMTK_DIR=%~dp0 > set PATH=%VMTK_DIR%bin;%VMTK_DIR%lib\InsightToolkit;%VMTK_DIR%lib\Python;%PATH% > set PYTHONPATH=%VMTK_DIR%lib\site-packages;%VMTK_DIR%lib\vtk-5.6;%VMTK_DIR%lib\vmtk > cd %VMTK_DIR% > python bin\vmtk-exe.py > > Which does not work. No matter what I could make this work and provide a patch, but I am just uncertain as to the purpose of the distribution/nsis directory and where you want the scripts to be.... at root of tree or in nsis directory... or somewhere else? > > B > > ------------------------------------------------------------------------------ > Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, > MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current > with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft > MVPs and experts. ON SALE this month only -- learn more at: > http://p.sf.net/sfu/learnnow-d2d_______________________________________________ > vmtk-users mailing list > vmt...@li... > https://lists.sourceforge.net/lists/listinfo/vmtk-users |
From: Evan K. <to...@gm...> - 2013-01-31 00:18:58
|
Hello, I have just been running through the vmtk tutorials (using our own imaging data), but hit a snag during mesh generation. The command seems straightforward: vmtkmeshgeneration -ifile *.stl -ofile *.vtu -edgelength 0.5 However, an error seems to occur during capping. The Python command window gives the error: "Error from pype: 'module' object has no attribute 'vtkvmtkSimpleCapPolyData'." A similar message occurs if I use the option -cappingmethod Annular or if just try to cap with vmtksurfacecapper. How do I fix this? Here is some info about the related software I am using: OS: Windows XP 64-bit SP2 Python 2.7 Microsoft Visual Studio 2010 Express (recommended for SP3, but there is no 64-bit SP3) Thank you for your time, Evan |
From: Brian D. <bit...@gm...> - 2013-01-28 21:00:20
|
Ok so I had a little bit of time to clone the fresh tree. I am a little confused as there is a CmakeLists.txt in the "distribution" directory that has the text: INSTALL(FILES "${CMAKE_CURRENT_SOURCE_DIR}/nsis/vmtk-startup.bat" DESTINATION . COMPONENT RuntimeExecutables ) But then in the SuberBuild.cmake there is the text CONFIGURE_FILE( vmtk_startup.bat.in ${VMTK_INSTALL_DIR}/vmtk_startup.bat ) and what appears in the base of the install directory is vmtk-startup.bat with the text: rem @echo off set VMTK_DIR=%~dp0 set PATH=%VMTK_DIR%bin;%VMTK_DIR%lib\InsightToolkit;%VMTK_DIR%lib\Python;%PATH% set PYTHONPATH=%VMTK_DIR%lib\site-packages;%VMTK_DIR%lib\vtk-5.6;%VMTK_DIR%lib\vmtk cd %VMTK_DIR% python bin\vmtk-exe.py Which does not work. No matter what I could make this work and provide a patch, but I am just uncertain as to the purpose of the distribution/nsis directory and where you want the scripts to be.... at root of tree or in nsis directory... or somewhere else? B |
From: Luca A. <luc...@gm...> - 2013-01-26 13:47:55
|
Hi Brian, I got sidetracked on this one, but I finally committed your changes to the repository. Now we generate a vmtk_startup.bat file on Windows and a vmtk_env.sh file on Unix (Mac and Linux). On Windows one can just double-click the file, while on Unix one goes source vmtk_env.sh or . vmtk_env.sh and the scripts are available at the command line. Thanks a lot for the contributions, it would be great if you could double check that everything works correctly on Windows. Luca PS: I'm launching pypepad from the .bat file now, while I saw you were starting idle. Maybe it would be good to generate two files, one for pypepad and one for idle? On Jan 7, 2013, at 10:01 PM, Brian Davis wrote: > See comments to your comments below >> In reference to: >> >> >>> >> >> >> To do so, position yourself in the Install directory and create a file named, e.g. vmtk-startup.bat >> (the important part is the .bat extension) containing the following code: >> >> rem @echo off >> set VMTK_DIR=%~dp0 >> set PATH=%VMTK_DIR%bin;%VMTK_DIR%lib\InsightToolkit;%VMTK_DIR%lib\Python;%PATH% >> set PYTHONPATH=%VMTK_DIR%lib\site-packages;%VMTK_DIR%lib\vtk-5.10;%VMTK_DIR%lib\vmtk >> cd %VMTK_DIR% >> python bin\vmtk-exe.py >> <<< >> >> Sounds like some good stuff to put into a run_vmtk_python.txt file in the release of VMTK and run configure_file on, this way people can get started with out having to create their own script (and burn time trying to figure out which paths and env vars vmtk needs to do it's magic) as I did in my source tree to do just this. > > Good point. Can you make a test before I do this? > Can you please remove the two lines setting the environment variables (set PATH ... and set PYTHONPATH) and run the .bat file again? > In theory the python launcher should set the environment variables automatically already, but let's see if this works on your system. > >> > > I modified vmtk slightly by adding: > > run_vmtk_python.txt - located with vmtk root path with CMakeLists.txt > >> > > echo "python path is %PYTHONPATH%" > > set PYTHON_VERSION=${PYTHON_MIN_MINOR} > set VTK_VERSION=${VTK_VERSION} > set PYTHON_ROOT_DIR=${PYTHON_ROOT_DIR_NATIVE} > > set VMTKHOME=${VMTK_INSTALL_DIR_NATIVE} > set PATH=%VMTKHOME%\bin:%PATH% > set DYLD_LIBRARY_PATH=%VMTKHOME%\lib\vtk-%VTK_VERSION%;%VMTKHOME%\lib\vmtk;%VMTKHOME%\lib\vmtk\vmtk;%DYLD_LIBRARY_PATH% > set PYTHONPATH=%VMTKHOME%\bin;%VMTKHOME%\bin\Python;%VMTKHOME%\lib\vtk-%VTK_VERSION%;%VMTKHOME%\lib\vmtk;%VMTKHOME%\lib\vmtk\vmtk;%PYTHONPATH% > set PATH=%VMTKHOME%\bin;%DYLD_LIBRARY_PATH%;%PATH% > > > start "IDLE" ${PYTHON_ROOT_DIR}Lib\idlelib\idle.bat > > << > > And modifying > > SuperBuild.cmake by adding the following text to the end of the file > > >>> > FIND_PACKAGE( PYTHONINTERP ) > FIND_PACKAGE( PYTHONLIBS ) > > > set( PYTHON_MAJORMINOR ${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR} ) > > SET( VTK_VERSION 5.10 ) > > set( VMTK_INSTALL_DIR ${CMAKE_BINARY_DIR}/Install ) > file( TO_NATIVE_PATH ${VMTK_INSTALL_DIR} VMTK_INSTALL_DIR_NATIVE ) > > > > > > message( STATUS ${PYTHON_LIBRARIES} ) > message( STATUS ${PYTHON_LIBRARIES} ) > message( STATUS ${PYTHON_MAJORMINOR} ) > message( STATUS ${PYTHONLIBS_VERSION_STRING} ) > message( STATUS ${PYTHON_LIBRARY} ) > > #find_path( PYTHON_ROOT_DIR ${PYTHON_EXECUTABLE} ) > #MESSAGE( STATUS ${PYTHON_ROOT_DIR} ) > > > string( REGEX MATCH "[0-9][0-9]" PYTHON_MIN_MINOR ${PYTHON_EXECUTABLE} ) > string( REGEX MATCH "(.*[/])*" PYTHON_ROOT_DIR ${PYTHON_EXECUTABLE} ) > file( TO_NATIVE_PATH ${PYTHON_ROOT_DIR} PYTHON_ROOT_DIR_NATIVE ) > > > message( STATUS ${PYTHON_MIN_MINOR} ) > > message( STATUS ${PYTHON_ROOT_DIR} ) > > configure_file( run_vmtk_python.txt ${VMTK_INSTALL_DIR}/run_vmtk_python.bat ) > > <<< > > > FindPython does not seem to give back the variables I was expecting hence the string regex call. Anyway this worked for me. Be sure to use TO_NATIVE path when building .bat file not needed when creating sh or bash scripts. > > B > ------------------------------------------------------------------------------ > Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, > MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current > with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft > MVPs and experts. SALE $99.99 this month only -- learn more at: > http://p.sf.net/sfu/learnmore_122412_______________________________________________ > vmtk-users mailing list > vmt...@li... > https://lists.sourceforge.net/lists/listinfo/vmtk-users |
From: Luca A. <luc...@or...> - 2013-01-26 13:13:48
|
Hi Ben, it almost looks like the surface undergoes some processing on the points while the normals array is left untouched, so there is a discrepancy between the number of points and the number of normals. Does your processing pipeline include your own code or are you solely relying on vmtk scripts? In the latter case, please provide me with the pipe and I'll take a look. What you can do as a workaround is to call vmtksurfacenormals (or use the vtkPolyDataNormals filter in VTK code) *prior to* writing the surface to disk. This should fix it at least until you don't discover the root cause. Best, Luca On Jan 26, 2013, at 1:51 AM, Berkowitz, Benjamin M wrote: > Hi, I've had two or three surface models where I'm getting an error after processing that says "vtkXMLPolyDataReader (0x7fc4cf6071d0): Cannot read cell data array "Normals" from PointData in piece 0. The data array in the element may be too short." I've gone back to the thresholded VOI and resegmented using vmtkmarchingcubes, remeshed, and performed my processing operations again, and I still got an error. Has anyone else ever encountered this? It doesn't make sense to me considering the normals are associated with the mesh, not the image. > > Thanks, > Ben > ------------------------------------------------------------------------------ > Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, > MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current > with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft > MVPs and experts. ON SALE this month only -- learn more at: > http://p.sf.net/sfu/learnnow-d2d > _______________________________________________ > vmtk-users mailing list > vmt...@li... > https://lists.sourceforge.net/lists/listinfo/vmtk-users |
From: Luca A. <luc...@or...> - 2013-01-26 13:06:25
|
Dear Haim, the problem can be approached by either smoothing the centerlines or locally fitting a low-degree polynomial through each point and deriving the curvature and torsion analytically. Probably, for what you need to do, the second approach is a better one. Indeed, both approaches lead to a regularization of a noisy centerline, where the noise is for a large part unavoidable and due to the discrete and noisy nature of the images. The current smoothing scheme can lead to shifts in the centerline position if a large number of iterations is employed. In fact, there are no terms constraining the centerline where it is initially. Better smoothing schemes could be adopted, but local polynomial fitting could be enough (i.e. you won't obtain a globally smooth centerline, but you would estimate of a smooth approximation of the centerline one point at a time around the point neighborhood). Currently there is no script that does that in vmtk right now, although it would not be particularly hard to implement. I can provide you with directions if you have someone with development skills to rely on. Hope this helps, Luca On Jan 18, 2013, at 6:41 PM, Haim Ezer wrote: > Dear Luca, everybody > > I would like to compare the arterial geometry (e.g. Curvature ant torsion) in a very accurate manner. The problem is that the amount of smoothing of the digital data, determines how flat the centerline result is. Since my data is from different modalities (MRI and DSA) a different amount of smoothing is required for both modalities. Hence, similar curvature, as proven to be by rigid registration of two arteries have different curvature, since different amount of smoothing have been performed. > > I will appreciate any help. > > Thank you! > > Haim > ------------------------------------------------------------------------------ > Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and > much more. Get web development skills now with LearnDevNow - > 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts. > SALE $99.99 this month only -- learn more at: > http://p.sf.net/sfu/learnmore_122812_______________________________________________ > vmtk-users mailing list > vmt...@li... > https://lists.sourceforge.net/lists/listinfo/vmtk-users |
From: Berkowitz, B. M <ben...@ui...> - 2013-01-26 01:04:49
|
Hi, I've had two or three surface models where I'm getting an error after processing that says "vtkXMLPolyDataReader (0x7fc4cf6071d0): Cannot read cell data array "Normals" from PointData in piece 0. The data array in the element may be too short." I've gone back to the thresholded VOI and resegmented using vmtkmarchingcubes, remeshed, and performed my processing operations again, and I still got an error. Has anyone else ever encountered this? It doesn't make sense to me considering the normals are associated with the mesh, not the image. Thanks, Ben |
From: Haim E. <hai...@ya...> - 2013-01-18 17:41:51
|
Dear Luca, everybody I would like to compare the arterial geometry (e.g. Curvature ant torsion) in a very accurate manner. The problem is that the amount of smoothing of the digital data, determines how flat the centerline result is. Since my data is from different modalities (MRI and DSA) a different amount of smoothing is required for both modalities. Hence, similar curvature, as proven to be by rigid registration of two arteries have different curvature, since different amount of smoothing have been performed. I will appreciate any help. Thank you! Haim |
From: Brian D. <bit...@gm...> - 2013-01-07 21:01:47
|
See comments to your comments below > In reference to: > > >>> > > To do so, position yourself in the Install directory and create a file > named, e.g. vmtk-startup.bat > (the important part is the .bat extension) containing the following code: > > rem @echo off > set VMTK_DIR=%~dp0 > set > PATH=%VMTK_DIR%bin;%VMTK_DIR%lib\InsightToolkit;%VMTK_DIR%lib\Python;%PATH% > set > PYTHONPATH=%VMTK_DIR%lib\site-packages;%VMTK_DIR%lib\vtk-5.10;%VMTK_DIR%lib\vmtk > cd %VMTK_DIR% > python bin\vmtk-exe.py > <<< > > Sounds like some good stuff to put into a run_vmtk_python.txt file in the > release of VMTK and run configure_file on, this way people can get started > with out having to create their own script (and burn time trying to figure > out which paths and env vars vmtk needs to do it's magic) as I did in my > source tree to do just this. > > > Good point. Can you make a test before I do this? > Can you please remove the two lines setting the environment variables (set > PATH ... and set PYTHONPATH) and run the .bat file again? > In theory the python launcher should set the environment variables > automatically already, but let's see if this works on your system. > > I modified vmtk slightly by adding: run_vmtk_python.txt - located with vmtk root path with CMakeLists.txt >> echo "python path is %PYTHONPATH%" set PYTHON_VERSION=${PYTHON_MIN_MINOR} set VTK_VERSION=${VTK_VERSION} set PYTHON_ROOT_DIR=${PYTHON_ROOT_DIR_NATIVE} set VMTKHOME=${VMTK_INSTALL_DIR_NATIVE} set PATH=%VMTKHOME%\bin:%PATH% set DYLD_LIBRARY_PATH=%VMTKHOME%\lib\vtk-%VTK_VERSION%;%VMTKHOME%\lib\vmtk;%VMTKHOME%\lib\vmtk\vmtk;%DYLD_LIBRARY_PATH% set PYTHONPATH=%VMTKHOME%\bin;%VMTKHOME%\bin\Python;%VMTKHOME%\lib\vtk-%VTK_VERSION%;%VMTKHOME%\lib\vmtk;%VMTKHOME%\lib\vmtk\vmtk;%PYTHONPATH% set PATH=%VMTKHOME%\bin;%DYLD_LIBRARY_PATH%;%PATH% start "IDLE" ${PYTHON_ROOT_DIR}Lib\idlelib\idle.bat << And modifying SuperBuild.cmake by adding the following text to the end of the file >>> FIND_PACKAGE( PYTHONINTERP ) FIND_PACKAGE( PYTHONLIBS ) set( PYTHON_MAJORMINOR ${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR} ) SET( VTK_VERSION 5.10 ) set( VMTK_INSTALL_DIR ${CMAKE_BINARY_DIR}/Install ) file( TO_NATIVE_PATH ${VMTK_INSTALL_DIR} VMTK_INSTALL_DIR_NATIVE ) message( STATUS ${PYTHON_LIBRARIES} ) message( STATUS ${PYTHON_LIBRARIES} ) message( STATUS ${PYTHON_MAJORMINOR} ) message( STATUS ${PYTHONLIBS_VERSION_STRING} ) message( STATUS ${PYTHON_LIBRARY} ) #find_path( PYTHON_ROOT_DIR ${PYTHON_EXECUTABLE} ) #MESSAGE( STATUS ${PYTHON_ROOT_DIR} ) string( REGEX MATCH "[0-9][0-9]" PYTHON_MIN_MINOR ${PYTHON_EXECUTABLE} ) string( REGEX MATCH "(.*[/])*" PYTHON_ROOT_DIR ${PYTHON_EXECUTABLE} ) file( TO_NATIVE_PATH ${PYTHON_ROOT_DIR} PYTHON_ROOT_DIR_NATIVE ) message( STATUS ${PYTHON_MIN_MINOR} ) message( STATUS ${PYTHON_ROOT_DIR} ) configure_file( run_vmtk_python.txt ${VMTK_INSTALL_DIR}/run_vmtk_python.bat ) <<< FindPython does not seem to give back the variables I was expecting hence the string regex call. Anyway this worked for me. Be sure to use TO_NATIVE path when building .bat file not needed when creating sh or bash scripts. B |
From: Luca A. <luc...@gm...> - 2013-01-06 13:57:23
|
Hi Brian, On Jan 4, 2013, at 3:28 PM, Brian Davis wrote: > > > > > So I was able to get vmtk to build using Python 2.6 x64 (3.0 did not work) so the following is not exactly accurate with 1.0 This occurred last night after my post after my 3rd attempt at building VMTK with each version of Python. > > >>> > Requirements > > vmtk is cross-platform and will compile and work on Linux, Mac OSX and Windows. Most of the development is performed under Linux and Mac OSX, but feel free to update us on eventual issues on Windows. > > In order to successfully compile and use vmtk, the following software has to be installed in your system: - Git (>= 1.6) - Python (>=2.6) - CMake (>=2.8) - A C++ compiler > > <<< > > especially the part about Python >= 2.6 in my experience (mileage may vary). > You're right, when I originally wrote this page Python 3 was not a real option and no distribution included it. I just updated the version number and never really thought about it. The deal with Python 3 is that VTK Python wrappers only support Python 2.x so far. There's probably some work undergoing to support Python 3, but AFAIK this is not out in the wild yet. Bottomline, only Python 2.x will work. I fixed the documentation, thanks for this and sorry you had to find out the hard way. > > > I was also able to get vmtknetworkextraction to work, but only with the source build in Win x64 not from binary release > This is unexpected, thanks for reporting it. > I was able to get pypepad to work and python. > > In reference to: > > >>> > > > To do so, position yourself in the Install directory and create a file named, e.g. vmtk-startup.bat > (the important part is the .bat extension) containing the following code: > > rem @echo off > set VMTK_DIR=%~dp0 > set PATH=%VMTK_DIR%bin;%VMTK_DIR%lib\InsightToolkit;%VMTK_DIR%lib\Python;%PATH% > set PYTHONPATH=%VMTK_DIR%lib\site-packages;%VMTK_DIR%lib\vtk-5.10;%VMTK_DIR%lib\vmtk > cd %VMTK_DIR% > python bin\vmtk-exe.py > <<< > > Sounds like some good stuff to put into a run_vmtk_python.txt file in the release of VMTK and run configure_file on, this way people can get started with out having to create their own script (and burn time trying to figure out which paths and env vars vmtk needs to do it's magic) as I did in my source tree to do just this. Good point. Can you make a test before I do this? Can you please remove the two lines setting the environment variables (set PATH ... and set PYTHONPATH) and run the .bat file again? In theory the python launcher should set the environment variables automatically already, but let's see if this works on your system. > > and > > >>>> > superbuild doesn't have an explicit INSTALL target. > <<<< > > Don't you think it should? I mean vmtk is not the only thing I am building in my source tree... it's just one component. Good point, I'm adding an option now to make this happen. It's called SUPERBUILD_INSTALL_PREFIX and it defaults to Install to keep the current behavior unchanged. > I was impressed that I was able to get most of the centerlines of vasculature network on a data set I was working on. Just not sure why it needs and initial cut plane for the opening as a requirement. I am not doing CFD so for me it seemed like an extra (manual) step I am not sure I need in my pipeline, not that I have tried it without this recommended step. I'm glad it worked for you (after some suffering). The network extraction algorithm needs a starting point to iteratively chop the surface with a sphere. Right now it's an opening in the surface, it could be a seed point, though. A seed point would probably be better since you could automate it more easily. Is this what you'd be aiming for? Thanks for your inputs so far. Luca > Thanks > > B > |
From: Brian D. <bit...@gm...> - 2013-01-04 14:28:54
|
So I was able to get vmtk to build using Python 2.6 x64 (3.0 did not work) so the following is not exactly accurate with 1.0 This occurred last night after my post after my 3rd attempt at building VMTK with each version of Python. >>> Requirements vmtk is cross-platform and will compile and work on Linux, Mac OSX and Windows. Most of the development is performed under Linux and Mac OSX, but feel free to update us on eventual issues on Windows. In order to successfully compile and use vmtk, the following software has to be installed in your system: - Git <http://www.git-scm.org/> (>= 1.6) - Python <http://www.python.org/> (>=2.6) - CMake <http://www.cmake.org/> (>=2.8) - A C++ compiler <<< especially the part about Python >= 2.6 in my experience (mileage may vary). I was also able to get vmtknetworkextraction to work, but only with the source build in Win x64 not from binary release I was able to get pypepad to work and python. In reference to: >>> To do so, position yourself in the Install directory and create a file named, e.g. vmtk-startup.bat (the important part is the .bat extension) containing the following code: rem @echo off set VMTK_DIR=%~dp0 set PATH=%VMTK_DIR%bin;%VMTK_DIR%lib\InsightToolkit;%VMTK_DIR%lib\Python;%PATH% set PYTHONPATH=%VMTK_DIR%lib\site-packages;%VMTK_DIR%lib\vtk-5.10;%VMTK_DIR%lib\vmtk cd %VMTK_DIR% python bin\vmtk-exe.py <<< Sounds like some good stuff to put into a run_vmtk_python.txt file in the release of VMTK and run configure_file on, this way people can get started with out having to create their own script (and burn time trying to figure out which paths and env vars vmtk needs to do it's magic) as I did in my source tree to do just this. and >>>> superbuild doesn't have an explicit INSTALL target. <<<< Don't you think it should? I mean vmtk is not the only thing I am building in my source tree... it's just one component. I was impressed that I was able to get most of the centerlines of vasculature network on a data set I was working on. Just not sure why it needs and initial cut plane for the opening as a requirement. I am not doing CFD so for me it seemed like an extra (manual) step I am not sure I need in my pipeline, not that I have tried it without this recommended step. Thanks B |
From: Luca A. <luc...@gm...> - 2013-01-04 11:07:55
|
Hi Brian, superbuild doesn't have an explicit INSTALL target. What should happen is that you should see an Install directory being created in the vmtk-build directory (not the VMTK-Build, the one containing it) at the end of the build. That Install directory already contains all vmtk files and dependencies that allow you to run vmtk. What you have to do is to set the appropriate environment variables. To do so, position yourself in the Install directory and create a file named, e.g. vmtk-startup.bat (the important part is the .bat extension) containing the following code: rem @echo off set VMTK_DIR=%~dp0 set PATH=%VMTK_DIR%bin;%VMTK_DIR%lib\InsightToolkit;%VMTK_DIR%lib\Python;%PATH% set PYTHONPATH=%VMTK_DIR%lib\site-packages;%VMTK_DIR%lib\vtk-5.10;%VMTK_DIR%lib\vmtk cd %VMTK_DIR% python bin\vmtk-exe.py Save the file, exit and start the bat file by double clicking on it. Hopefully you'll see pypepad coming up. Hope this helps. Luca On Jan 4, 2013, at 12:07 AM, Brian Davis wrote: > > Is the current build of VMTK from source supposed to have the INSTALL target. When the project is opend in visual studio the install target is not there and in attempts to use VMTK "superbuild" in a "super-e-duper-superbuild" (my build that uses ExternalProject_Add to download, build, and install fails due to what I belive is a lack of the intall target in VMTK and I must make INSTALL_COMMAND "" to skip the install command. > > I would expect INSTALL target to work and for INSTALL_DIR or -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} to put the output wherever I want to put it. > > > > ExternalProject_Add( > ${VMTK_PACKAGE} > GIT_REPOSITORY ${GIT_URL} > UPDATE_COMMAND "" > SOURCE_DIR ${THIRD_PARTY_SRC_DIR}/${VMTK_PACKAGE} > BINARY_DIR ${BUILD_DIR}/ouput/bin/${VMTK_PACKAGE} > INSTALL_DIR ${INSTALL_PREFIX} > INSTALL_COMMAND "" > CMAKE_ARGS > -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} > -DINSTALL_PREFIX=${INSTALL_PREFIX} > -DPYTHON_INCLUDE_DIR=${PYTHON_INCLUDE_DIR} > ) > > > As far as python I have installed every flavor x64 for 2.6, 2.7, and 3.0 where 2.7 (I belive) was installed by the binary package from vmtk-1.0.0-win7-64bit.exe. This version seemed to fail on vmtknetworkextraction so I gave up on that version and went back to the source build, through I was able to get Marching Cubes and centerline extraction to work. > > I have tried the forcing of the CMakeCache.txt as described in http://www.vmtk.org/Main/Installation/ , which I may add is a superawesome hack which makes the super-e-duper build impossible as vmtk requires vtk which is not downloaded for patching before ExternalProject_Add on the vmtk project. A Nice chicken in the egg problem. Though I do not think I have this issue when 3.0 is build, but at this point I am so confused trying to get anything to work. > > > > > ------------------------------------------------------------------------------ > Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, > MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current > with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft > MVPs and experts. ON SALE this month only -- learn more at: > http://p.sf.net/sfu/learnmore_122712_______________________________________________ > vmtk-users mailing list > vmt...@li... > https://lists.sourceforge.net/lists/listinfo/vmtk-users |
From: Luca A. <luc...@gm...> - 2013-01-04 09:15:10
|
Dear Miguel, vtkvmtkPolyDataScissors class is meant to produce cuts on the surface, i.e. to create a crease along the specified line and topologically detach the two sides of the crease. It won't detach any portion of the surface and, as a matter of facts, it won't always produce a cut that separates the input into two disconnected portions - it depends on how the input line is defined. To verify if the cut has taken place after the filtering, just save the surface and open it with Paraview. Use the Feature Edges filter and only keep the Boundary Edges checkbox checked. You should see a line where you defined the cut. If you don't, please send over a sample case of your line and surface and I'll take a look. Best, Luca On Dec 21, 2012, at 12:12 PM, Miguel Sotaquira wrote: > Hi Luca, > > I'm trying to cut an open triangulated surface (polydata) using the wrapped version of vtkvmtkPolyDataScissors. I've managed to correctly create the 'CutLine' polydata (with the corresponding points, cells and idArray in the correct polydata locations where I want to perform the cutting). Then I use vtkvmtkPolyDataScissors in this way: > > scissor=vmtk.vtkvmtk.vtkvmtkPolyDataScissors() > scissor.SetCutLine(CutLine) > scissor.SetCutLinePointIdsArrayName('idArray') > scissor.SetInput(Surface) > scissor.Update() > > where 'Surface' is the polydata I want to cut. I use the method GetOutput() from 'scissor' to obtain the result of cutting (is this right?); when rendering this output I'm getting the same input polydata ('Surface'), i.e. no cutting has been performed. Am I missing something? Is this the correct use of vtkvmtkPolyDataScissors? > > Thanks for your suggestions, > Miguel > ------------------------------------------------------------------------------ > LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial > Remotely access PCs and mobile devices and provide instant support > Improve your efficiency, and focus on delivering more value-add services > Discover what IT Professionals Know. Rescue delivers > http://p.sf.net/sfu/logmein_12329d2d_______________________________________________ > vmtk-users mailing list > vmt...@li... > https://lists.sourceforge.net/lists/listinfo/vmtk-users |