Difference: GMT_IsoSurf (1 vs. 5)

Revision 5
14 Dec 2023 - gmt11
Line: 1 to 1
 
META TOPICPARENT name="GMTSoftware"
Dr Graham Treece, Department of Engineering
Line: 197 to 190
 
Revision 4
11 Sep 2020 - gmt11
Line: 1 to 1
 
META TOPICPARENT name="GMTSoftware"
Dr Graham Treece, Department of Engineering
Changed:
<
<

IsoSurf v1.5d Documentation

>
>

IsoSurf

 

Note that the functionality in this software is now available (and in many ways improved) in Stradview, which is much more powerful and has a much nicer interface. The only reason for continuing to use IsoSurf is if you need a command-line function.

For extracting triangulated isosurfaces from blocks of data at varying resolutions, using regularised marching tetrahedra. If the resolution is higher than the inter-plane spacing, disc-guided interpolation is used to interpolate the cross-sectional data.

Added:
>
>
  • Program overview
  • Obtaining, installing and running IsoSurf
  • Input data file format
  • Output data file formats
  • Command line options
  • Examples
  • Versions
  •  
    Changed:
    <
    <
  • Obtaining, installing and running IsoSurf
  • Program overview
  • Input data file format
  • >
    >

    Program overview

     
    Changed:
    <
    <
  • Output data file formats
  • >
    >
    The input data is first read, then thresholded at a user-defined value, resulting in a set of binary cross-sections. These cross-sections can optionally be filtered using a morphological opening and/or closing with a disc size appropriate to the sampling resolution. This operation ensures that the contours do not contain features which are smaller than the sampling resolution. If no morphological filtering is used, the original data values are used to define the location of the cross-section in each slice more accurately - this can result in smoother surfaces at very high resolution.
     
    Changed:
    <
    <
  • Command line options
  • >
    >
    Having done this, each cross-section is transformed such that pixels in the image represent the minimum distance to the contour in that image (discussed further in a technical report). This improves both the interpolation of the surface and the smoothness of the surface display.
     
    Changed:
    <
    <
  • Examples
  • >
    >
    Surface triangulation is performed at a user-defined resolution, using regularised marching tetrahedra (described in a technical report). If this resolution is greater than the inter-plane spacing (the z resolution), then additional planes are interpolated using disc-guided interpolation (described in another technical report). For faster though less realistic results, shape-based interpolation can optionally be used instead of the previous technique. Obviously higher resolutions will lead to greater surface detail, but also greater numbers of triangles - and therefore longer processing times for visualisation.
     
    Changed:
    <
    <
  • Versions
  • >
    >
    The filtered cross-sections are also extracted and saved to a file as vectors which can be displayed in 3-D - this can be helpful in defining a sensible threshold for the input data.
     
    Added:
    >
    >
    As an extremely rough guide, triangles can be generated at about 4000 per second on typical modern hardware - plus several seconds for pre-processing (more if a very large filter is required due to a very low sampling resolution). This drops to 1000 or less triangles per second if the cross-sections also require interpolation - in this case the processing time is dependent on the complexity of the input data.
     

    Obtaining, installing and running IsoSurf

    Line: 44 to 43
     

    Please note that IsoSurf is a research tool, and is intended for research / personal use only. Whilst the author would like to think it is fairly well written, it comes with no reliability guarantees - use at your own risk!


    Deleted:
    <
    <

    Program overview

    The input data is first read, then thresholded at a user-defined value, resulting in a set of binary cross-sections. These cross-sections can optionally be filtered using a morphological opening and/or closing with a disc size appropriate to the sampling resolution. This operation ensures that the contours do not contain features which are smaller than the sampling resolution. If no morphological filtering is used, the original data values are used to define the location of the cross-section in each slice more accurately - this can result in smoother surfaces at very high resolution.

    Having done this, each cross-section is transformed such that pixels in the image represent the minimum distance to the contour in that image (discussed further in a technical report). This improves both the interpolation of the surface and the smoothness of the surface display.

    Surface triangulation is performed at a user-defined resolution, using regularised marching tetrahedra (described in a technical report). If this resolution is greater than the inter-plane spacing (the z resolution), then additional planes are interpolated using disc-guided interpolation (described in another technical report). For faster though less realistic results, shape-based interpolation can optionally be used instead of the previous technique. Obviously higher resolutions will lead to greater surface detail, but also greater numbers of triangles - and therefore longer processing times for visualisation.

    The filtered cross-sections are also extracted and saved to a file as vectors which can be displayed in 3-D - this can be helpful in defining a sensible threshold for the input data.

    As an extremely rough guide, triangles can be generated at about 4000 per second on typical modern hardware - plus several seconds for pre-processing (more if a very large filter is required due to a very low sampling resolution). This drops to 1000 or less triangles per second if the cross-sections also require interpolation - in this case the processing time is dependent on the complexity of the input data.


     

    Input data file format

    The original input data is assumed to be from a stack of parallel images, each of the same size. This is suitable for most medical imaging applications. The input data file should be structured as a `block of bytes', where the x coordinate varies fastest, then y, then z. If the input data is actually stored in one separate file per image, these files should be combined (e.g. using cat) into one file before running the program.

    Line: 130 to 117
     

    Versions

    Deleted:
    <
    <
    Version 1.5c and d - September 2001
     
    Added:
    >
    >
    Version 1.5c and d - September 2001
     

  • (d) fixed a bug when reading input files in Windows, and added
  • Line: 142 to 129
      leading to the generation of mesh-like surfaces.

    Deleted:
    <
    <
    Version 1.5b - August 2001
     
    Added:
    >
    >
    Version 1.5b - August 2001
     

  • correct treatment of thresholds which exclude all data from any particular slice of the volume.
  • Deleted:
    <
    <
    Version 1.5 - May 2001
     
    Added:
    >
    >
    Version 1.5 - May 2001
     

  • `-a' option added to centralise the output data around the
  • Line: 164 to 151
      high resolutions.

    Deleted:
    <
    <
    Version 1.4 - September 2000
     
    Added:
    >
    >
    Version 1.4 - September 2000
     

  • Co-ordinates of the vertices in the output surface shifted such that they can
  • Line: 175 to 162
      More information provided in the error messages.

    Deleted:
    <
    <
    Version 1.3 - June 2000
     
    Added:
    >
    >
    Version 1.3 - June 2000
     

  • Can now write the surface triangulation in VRML version 1.0 format
  • Line: 187 to 174
      be extracted from each cross-section.

    Deleted:
    <
    <
    Version 1.2 - April 2000
     
    Added:
    >
    >
    Version 1.2 - April 2000
     

  • Source only update to allow compilation under Windows 95/98/NT.
  • Deleted:
    <
    <
    Version 1.1 - August 1999
     
    Added:
    >
    >
    Version 1.1 - August 1999
     

  • First public release.
  • Deleted:
    <
    <
    Version 1.0
     
    Added:
    >
    >
    Version 1.0
     

  • Original private version.
  • Revision 3
    16 Sep 2019 - gmt11
    Line: 1 to 1
     
    META TOPICPARENT name="GMTSoftware"
    Changed:
    <
    <

    Dr Graham Treece, Department of Engineering

    >
    >
    Dr Graham Treece, Department of Engineering
     

    IsoSurf v1.5d Documentation

    Changed:
    <
    <
    Note that the functionality in this software is now available (and in many ways improved) in Stradwin, which is much more powerful and has a much nicer interface. The only reason for continuing to use IsoSurf is if you need a command-line function.
    >
    >
    Note that the functionality in this software is now available (and in many ways improved) in Stradview, which is much more powerful and has a much nicer interface. The only reason for continuing to use IsoSurf is if you need a command-line function.
     

    For extracting triangulated isosurfaces from blocks of data at varying resolutions, using regularised marching tetrahedra. If the resolution is higher than the inter-plane spacing, disc-guided interpolation is used to interpolate the cross-sectional data.

    Changed:
    <
    <
  • Obtaining, installing and running IsoSurf
  • Program overview
  • Input data file format
  • Output data file formats
  • Command line options
  • Examples
  • Versions
  • >
    >
  • Obtaining, installing and running IsoSurf
  • Program overview
  • Input data file format
  • Output data file formats
  • Command line options
  • Examples
  • Versions
  •  


    Obtaining, installing and running IsoSurf

    Line: 119 to 123
     

    You can change the size of the triangles by altering the '-r' option. Adding the '-c' option causes the end caps not to be triangulated, as follows :

    Changed:
    <
    <
    Demo data triangulation - no caps

    >
    >
    Demo data triangulation - no caps

     


    Versions

    Changed:
    <
    <

    >
    >

      Version 1.5c and d - September 2001
    Deleted:
    <
    <
     
    Changed:
    <
    <
  • >
    >

  •   (d) fixed a bug when reading input files in Windows, and added
    Changed:
    <
    <
    a high and a low threshold.
    >
    >
    a high and a low threshold.
     
    Changed:
    <
    <
  • >
    >
      (c) fixed a bug in thresholding introduced since version 1.5, leading to the generation of mesh-like surfaces.

    Changed:
    <
    <

    >
    >

      Version 1.5b - August 2001
    Deleted:
    <
    <
     
    Deleted:
    <
    <
  • correct treatment of thresholds which exclude all data from any particular slice of the volume.
  •  

    Changed:
    <
    <
    >
    >
  • correct treatment of thresholds which exclude all data from any particular slice of the volume.
  •  
    Changed:
    <
    <

    >
    >

      Version 1.5 - May 2001
    Deleted:
    <
    <
     
    Changed:
    <
    <
  • >
    >

  •   `-a' option added to centralise the output data around the
    Changed:
    <
    <
    location (0,0,0).
    >
    >
    location (0,0,0).
     
    Changed:
    <
    <
  • >
    >
      If no morphological filtering is used (i.e. `-m n'), the data values are used to locate the cross-section in each slice more precisely. This can result in smoother surfaces when using high resolutions.

    Changed:
    <
    <

    >
    >

      Version 1.4 - September 2000
    Deleted:
    <
    <
     
    Changed:
    <
    <
  • >
    >

  •   Co-ordinates of the vertices in the output surface shifted such that they can
    Changed:
    <
    <
    be registered with the input data array. (0,0,0) is now at the start of the array.
    >
    >
    be registered with the input data array. (0,0,0) is now at the start of the array.
     
    Changed:
    <
    <
  • >
    >
      More information provided in the error messages.

    Changed:
    <
    <

    >
    >

      Version 1.3 - June 2000
    Deleted:
    <
    <
     
    Changed:
    <
    <
  • >
    >

  •   Can now write the surface triangulation in VRML version 1.0 format
    Changed:
    <
    <
    as well as OOGL format. Added option '-v' for this purpose.
    >
    >
    as well as OOGL format. Added option '-v' for this purpose.
     
    Changed:
    <
    <
  • >
    >
      Removed artificial limit on the number of maximal discs that can be extracted from each cross-section.

    Changed:
    <
    <

    >
    >

      Version 1.2 - April 2000
    Deleted:
    <
    <
     
    Deleted:
    <
    <
  • Source only update to allow compilation under Windows 95/98/NT.
  •  

    Changed:
    <
    <
    >
    >
  • Source only update to allow compilation under Windows 95/98/NT.
  •  
    Changed:
    <
    <

    >
    >

      Version 1.1 - August 1999
    Deleted:
    <
    <
     
    Deleted:
    <
    <
  • First public release.
  •  

    Changed:
    <
    <
    >
    >
  • First public release.
  •  
    Changed:
    <
    <

    >
    >

      Version 1.0
    Deleted:
    <
    <
     
    Deleted:
    <
    <
  • Original private version.
  •  

    Changed:
    <
    <
    >
    >
  • Original private version.
  •