From: Gordon L. Kindlmann <glk@uc...>  20140109 06:04:21

Yes, the MACET cases were included in Teem in 2010. They are for extracting 3D isosurfaces from 3D data. In teem/src/seek/tables.c there is: /* This case table implements the ideas from Dietrich et al. Edge Groups: an approach to understanding the mesh quality of marching methods. IEEE Trans. Vis. Comp. Graph. 2008 and has been generated from the case table distributed with macet, written by Carlos Dietrich. Reused with kind permission of the authors. */ const int seekContour3DTopoHackTriangle[256][16] = { ... This table is used in "static int triangulate()", called by "static int surfaceExtract()", called by "int seekExtract(seekContext *sctx, limnPolyData *lpld)", in seek/extract.c. Using the seekContext takes some setup, which is demonstrated in teem/src/seek/test/tiso.c. Unfortunately that program is not built by the CMake building of Teem, but you can get an idea of how it works. If you can provide some public datasets that could become part of teem/data and teem/Examples, that would help provide the incentive to create updated example programs that would get built by CMake. Gordon On Jan 8, 2014, at 2:38 AM, Gustavo CHAVEZ <gustavo.chavezchavez@...> wrote: > Dear Gordon, > > Thank you for the reply. Let me use two quotes from the MACET paper (Edge Transformations for Improving Mesh Quality of Marching Cubes), in the context of isosurface extraction. > > "For each configuration, the set of active edges, i.e., edges where the function f has different signs at the endpoints, independently determines both the geometry and topology of the mesh. The topology is determined by the configuration of active edges for each cell. The geometry is determined by the location of the isovalue along each active edge. This independence leaves room to change the geometry of the mesh while keeping the topology intact. Our modification to MC explores this independence. Some edge transformations do not change the underlying topology: <<they only change the geometry of the isosurface.>>" > > "In this work, we use a cubic spline interpolation to reconstruct the derivatives of the scalar field. <<We also use the corresponding cubic spline to reconstruct the scalar field itself>> at the sampling grid vertices. This means there might be more than one root in active edges. However, since the topology has already been determined by the lookup into the MC tables and the intersection calculation returns only one vertex, this presents no practical problems." > > I want to leverage this independence of topology/geometry and get the geometry using cubic splines, in order to extract isolines from a volume dataset (a slice of it sor instace); preferably, using the teem library as cited in the paper. Do you have any pointers on how to proceed? > > Best regards, > Gustavo > > > On Tue, Dec 24, 2013 at 12:30 AM, Gordon L. Kindlmann <glk@...> wrote: > Hello, > > Sorry for the slow reply. > > If you're talking about connected isolines from 2D images, there is nothing in Teem geared towards this (and nothing has been removed either). > > I'm not sure what the contours.h header was, but it was probably in the "seek" library (teem/src/seek). Seek does support marchingcubes syle isosurface extraction, but like even fixed Marching Cubes it will not generate topologically accurate contours for any 3D filter (it only generates closed surfaces, but these don't match the topology of a true trilinear interpolation, let alone BCcubic splines). > > If all you want is a dense sampling of a 3D isocontour, in a continuous volume reconstructed with BCsplines or other kernels, then you can use the "pull" library for particlesystem based feature extraction. Unfortunately there aren't currently any standalone demos of using pull for this purpose. The demos here: > http://people.cs.uchicago.edu/~glk/ssp/ > are for scalespace ridge line detection. But again, this will only give a dense sampling, and there is no guarantee that it is "dense enough" to help produce a topologically correct mesh, if that's what you need. > > Through a set of options, you can also tell pull to only work in 2D. > > If you can provide some public datasets that could become part of teem/data and teem/Examples, that would help provide the incentive to create example programs. > > Gordon > > On Dec 15, 2013, at 6:38 AM, Gustavo CHAVEZ <gustavo.chavezchavez@...> wrote: > >> Dear Teemusers, >> >> I'm trying to extract isolines from scalar fields (volume datasets in nrrd or raw format), based on BCsplines using the kernels of teem/nrrd. I am basically looking for a sophisticated extension of marching squares (that uses linear interpolation only). >> >> I took a look at the source code of MACET, AFRONT, and the tutorial of nrrd (although this is for indirect volume rendering) with no luck. I also saw that back in 2006 teem distribution used to have a contours.h library which is no longer supported. Maybe you move this functionality somewhere else? or, is isocontour extraction out of the scope of the current capabilities of teem? >> >> Best regards, >> >> Gustavo Chávez >> Graduate student of Computer Science >> >> >> This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email. >> Rapidly troubleshoot problems before they affect your business. Most IT >> organizations don't have a clear picture of how application performance >> affects their revenue. With AppDynamics, you get 100% visibility into your >> Java,.NET, & PHP application. Start your 15day FREE TRIAL of AppDynamics Pro! >> http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk_______________________________________________ >> teemusers mailing list >> teemusers@... >> https://lists.sourceforge.net/lists/listinfo/teemusers > > > > This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email. 