pdf document viewer c# : How to delete text from pdf with acrobat Library application class asp.net windows winforms ajax GettingDataIntoImageVis3D0-part61

Getting Data into ImageVis3D
i
Getting Data into ImageVis3D
How to delete text from pdf with acrobat - delete, remove text from PDF file in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Allow C# developers to use mature APIs to delete and remove text content from PDF document
pdf editor delete text; delete text from pdf online
How to delete text from pdf with acrobat - VB.NET PDF delete text library: delete, remove text from PDF file in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
VB.NET Programming Guide to Delete Text from PDF File
remove text from pdf reader; delete text pdf document
Getting Data into ImageVis3D
ii
REVISION HISTORY
NUMBER
DATE
DESCRIPTION
NAME
.NET PDF Document Viewing, Annotation, Conversion & Processing
Redact text content, images, whole pages from PDF file. Annotate & Comment. Edit, update, delete PDF annotations from PDF file. Print.
how to delete text in pdf preview; how to delete text in pdf converter
C# PDF Converter Library SDK to convert PDF to other file formats
Allow users to convert PDF to Text (TXT) file. can manipulate & convert standard PDF documents in other external third-party dependencies like Adobe Acrobat.
delete text from pdf preview; pdf text remover
Getting Data into ImageVis3D
iii
Contents
1 Introduction
1
2 Grid Types
1
3 Existing File Formats
2
3.1 Volume Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3.1.1 DICOM Stacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3.1.2 Image Stacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3.1.3 QVis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.1.4 Nearly Raw Raster Data (NRRD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.1.5 Metamorph "Stack" Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.1.6 TIFF Volumes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1.7 VFF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1.8 Brick of Values (BOV) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1.9 Fraunhofer Raw Volumes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.1.10 Inveon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.1.11 Analyze. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.1.12 Raw Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2 Geometry Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2.1 OBJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2.2 PLY. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2.3 MedAlyVis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2.4 IV3D Mobile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4 Adding a Volume Data Converter
6
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.2 ImageVis3DConversion Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.3 Writing Your Converter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.3.1 Converter Skeleton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.3.2 Building Your Reader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.3.3 Register Your Converter with the IO Subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.3.4 Register Your File Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.3.5 Modify Raw Conversion Routine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.3.6 Optional: Reimplement the CanRead Predicate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.3.7 Optional: Implement Native Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.4 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
C# powerpoint - PowerPoint Conversion & Rendering in C#.NET
documents in .NET class applications independently, without using other external third-party dependencies like Adobe Acrobat. PowerPoint to PDF Conversion.
remove text from pdf; delete text in pdf file online
C# Word - Word Conversion in C#.NET
Word documents in .NET class applications independently, without using other external third-party dependencies like Adobe Acrobat. Word to PDF Conversion.
erase text in pdf document; how to edit and delete text in pdf file online
Getting Data into ImageVis3D
iv
5 Adding a Geometry Converter
11
5.1 Geometry Converter Skeleton. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5.2 Building Your GeometryConverter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5.3 Register Your Geometry Converter with the IO Subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5.4 Register Your File Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5.5 Implement ConvertToMesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
6 Implementing a Reader Parallel to UVF
12
6.1 Writing Your Reader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
6.1.1 Reader Skeleton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
6.1.2 Building Your Reader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
6.1.3 Register Your Data Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
CanRead and Create . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Registration with the IOSubsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Test!. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
6.1.4 Implement Dataset Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Histograms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Brick Inquiries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Data Type and Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Optional: Verify. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Optional: Rescale Factors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Optional: First/Last Bricks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Optional: Acceleration Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Optional: Export. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Optional: Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
7 Converting Your Output Format to ImageVis3D’s UVF
16
7.1 Unified Volume Format Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
7.1.1 Master Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
7.1.2 Data Blocks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1D Histogram Data Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2D Histogram Data Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
KeyValue Pairs Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Raster Data Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Geometry Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
8 Contribute Back
21
8.1 Benefits of Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
8.2 What We Ask From Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
8.3 Logistics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
8.3.1 Privacy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
VB.NET PDF: How to Create Watermark on PDF Document within
create a watermark that consists of text or image (such And with our PDF Watermark Creator, users need no external application plugin, like Adobe Acrobat.
delete text from pdf file; how to erase text in pdf file
C# Windows Viewer - Image and Document Conversion & Rendering in
standard image and document in .NET class applications independently, without using other external third-party dependencies like Adobe Acrobat. Convert to PDF.
delete text from pdf acrobat; pdf editor online delete text
Getting Data into ImageVis3D
1/ 22
1 Introduction
One of the most common inquiries we get is, "What is the best way to get my data into ImageVis3D?" The answer is invariably
specific to your particular case. There are a number of ways you can get ImageVis3D to render your data, with a varying range
of associated complexities. This document attempts to answer some of the most common questions.
Briefly, there a couple ways ImageVis3D can load data out of the box: by loading up a UVF, ImageVis’ native image format,
or by converting data into UVF. However, ImageVis3D is meant to visualize massive datasets; theoretically up to exabytes of
data. In practice, even for data as small as a terabyte, the conversion process is going to be too time consuming for reasonable
day-to-day use.
For data at this scale, there are two options: write out your data as UVF in the first place, or implement a reader which sits
parallel to UVF within ImageVis3D’s IO subsystem. Both impose restrictions on the structure of your data, and will require
someone with C++ programming experience to make it happen. However, the payoff is large: ImageVis3D will be able to open
your formats ‘natively’, without the costly conversion step, and you will no longer have to deal with the same data replicated
across your toolchain’s native file format and UVF.
Use our code!
ImageVis3D’s design is component-based. In this document, we will use "the IO subsystem" and "ImageVis3D" interchange-
ably, but we are usually referringtothe IO library which we havewritten specifically for usewith ImageVis3D. Despite thename,
the library is independent of ImageVis3D, and we explicitly encourage those who are capable to use it separately, in their own
applications! More information is available by asking on the mailing lists.
Broadly, bothschemes accept data on regular (thoughpotentially anisotropic) grids. Theconverted formats arewhatwewill refer
to as single-block, meaning that the entire dataset lives in one large array, regardless of how large the dataset is. By comparison,
ImageVis3D’s variant of UVF is inherently multi-block, meaning that large data are "chunked", such that multiple "chunks" are
required to recreate the entire volume. Single-block data is inherently simpler and has more support from existing tools. Multi-
block data is more complex, but—even ignoring ImageVis3D for a moment and speaking from a purely algorithmic standpoint
—there is simply no way to scale single-block data access to provide efficient visualization and analysis for large data.
2 Grid Types
Data can be defined on a wide variety of grid types. ImageVis3D can handle "regular" gridded data as well as geometry, though
at present all geometry data must be associated with some kind of volume data.
Gridded data is similar to an image file: it is defined as a series of voxels, with an implicit ordering and distance between each
voxel. Thatis, if we call a pixel x anddefine a pixel x+1 tobe the pixel to the right of x, then we know that the distance between
xand x+1 is equal to the distance between x+1 and x+2. Regular data is an extension of this property to 3D: all data are layed
out onan even grid.
Example Regular Gridded Data (. represents a grid location)
. .
.
.
.
.
.
.
.
.
.
.
. .
.
.
.
.
.
.
.
.
.
.
. .
.
.
.
.
.
.
.
.
.
.
. .
.
.
.
.
.
.
.
.
.
.
. .
.
.
.
.
.
.
.
.
.
.
. .
.
.
.
.
.
.
.
.
.
.
. .
.
.
.
.
.
.
.
.
.
.
However, do notethatImageVis3Dsupports so-calledanisotropic data. That is, the difference in spacebetween x and x+1 need
not be equal to the difference between y and y+1. More succinctly, the spacing information can vary per-dimension, but not
within a dimension.
ImageVis3D can also associate geometry with a volume. This geometry must be in the form of a triangle mesh or a set of lines.
Note that some formats have more complicated meshes, which are triangulated on the fly during load to meet this requirement.
C# Excel - Excel Conversion & Rendering in C#.NET
Excel documents in .NET class applications independently, without using other external third-party dependencies like Adobe Acrobat. Excel to PDF Conversion.
how to delete text from a pdf; erase text from pdf
VB.NET PowerPoint: VB Code to Draw and Create Annotation on PPT
other documents are compatible, including PDF, TIFF, MS free hand, free hand line, rectangle, text, hotspot, hotspot more plug-ins needed like Acrobat or Adobe
remove text watermark from pdf online; delete text from pdf with acrobat
Getting Data into ImageVis3D
2/ 22
If your data do not exemplify regular grid data or geometry, ImageVis3D will not be able to handle it natively. For now, your
best bet to be able to import such data into ImageVis3D is to resample it onto a regular grid. TheVisItsoftware package might
be able to do this resampling for you; a sample Python script which uses VisIt to do this is given later in this document (see the
section on the "BOV" file format).
3 Existing File Formats
ImageVis3D might already support converting the formats you care about into its native UVF container format. You might also
consider rewriting data in one of these formats to better support ImageVis3D. If your data are inherently single-block, this will
be your quickest path to loading and visualizing your data.
3.1 Volume Data
For 3D gridded volume data, ImageVis3D supports:
• DICOM stacks (.dcm extension, normally): A set of DICOM files which form a volume. Use the "Load Dataset from
Directory" feature to load these datasets.
• Image stacks (.png, .tif, .bmp, .jpeg/.jpg, .qif extensions): sets of 2D images which form avolume whenrendered
together. As with DICOM stacks, use the "Load Dataset from Directory" feature to load these datasets.
• QVis (.dat extension): QVis header and accompanying rawdata
• NRRD (.nrrd and .nhdr extensions): NRRD files, as output by theTeem library and associated tools.
• Stack (.stk extension): Metamorph "stack" files; a special case of TIFFs, output by the Metamorph software package.
• TIFF (.tiff, .tif extensions): ATIFF stack; these differ from animage stackin that the entire volume is stored ina single
file.
• VFF (.vff extension): Visualization File Format
• Brick of Values (.bov extension): A raw 3D array and associated header; a common method to export data from theVisIt
software package.
• REK (.rek extension): Fraunhofer Raw format.
• Inveon (.hdr extension, with accompanying .img): files from Inveon scanner.
• Analyze (.hdr extension, with accompanying .img): Analyze 7.5 files.
• Raw data, optionally compressed
3.1.1 DICOM Stacks
DICOMs are notoriously difficult to parse, work with, and have poor access times. Do not use DICOM if you are not already.
We will not document the format here, but if you are dead-set on this format, you can find the entire ~3000 page specification on
the official DICOM web site.
3.1.2 Image Stacks
ImageVis3D supports loading sets of images in the common formats. Specifications for each image type are beyond the scope
of this document. If you are designing a new visualization pipeline, we would discourage reliance on image stacks due to slow
access times.
For many if not all image types, image data is downsampled to 8bits before it is handed to ImageVis3D’s IO subsystem. This is
fixable, but at present has yet to be a pressing concern. Please let us know if this is a significant hurdle for your data.
Getting Data into ImageVis3D
3/ 22
3.1.3 QVis
QVis is a simpleheader + data fileformat. The filewhich the user selects viatheImageVis3DUI, which must have the extension
.dat, is comprised of a series of ASCII key-value pairs. One of these pairs, with the ObjectFileName key, gives the name
of a file which contains raw data.
QVis is currently the only mechanism by which one can load color data into ImageVis3D. Other file formats are capable of
storing color data, but code must be added to the converter to inform higher levels of ImageVis3D to handle the data correctly.
QVis would be a good format to standardize around if you were designing a pipeline to work with single-block, rawdata.
An example .dat file is:
ObjectFileName: body.raw16
TaggedFileName: ---
Resolution:
512 512 1884
SliceThickness: 1 1 1
Format:
USHORT
NbrTags:
0
ObjectType:
TEXTURE_VOLUME_OBJECT
ObjectModel:
RGBA
GridType:
EQUIDISTANT
This describes a 512x512x1884 dataset, stored as 16-bit unsigned integers (USHORT s). As such, one would expect the data
file, body.raw16, to be 987,758,592 bytes (512 x 512 x 1884, times 2 bytes per element because the data are 16-bit).
Despite the ObjectModel, this is not color data, because the Format implies there is only a single element per grid location.
The user might have specified color data bydictating the format was USHORT4 data, indicating there are 4 unsigned shortvalues
per grid location. This volume is isotropic ("11 1" SliceThickness, EQUIDISTANT grid type).
If you would like to write your own QVis data exporters, we recommend:
• Always put the ObjectFileName as the first key available in the header.
• IncludetheTaggedFileName, NbrTags, ObjectType, ObjectModel, andGridType keys, eventhoughImageVis3D
will ignore them (just copy the values used above, if nothing else). You never know when some other piece of software will
require those fields.
• Stick to CHAR/BYTE, UCHAR, SHORT, USHORT, UCHAR4 (color data), and FLOAT for your Format s. Other types are not
currently implemented! Patches are welcome.
3.1.4 Nearly Raw Raster Data (NRRD)
NRRD is a single-block format comprised of a header with accompanying data. The NRRD file format is described extensively
on its web site.
ImageVis3D’s implementationsuffers from some quirks because it eschews the use of the more general Teem library. We would
welcome contributions which would allow ImageVis3D to understand more of NRRD’s fields. At the very least, please provide
bug reports if youfind fields which are not understood by ImageVis3D.
NRRDs can be "attached" or "detached", the former meaning that metadata and data appear concatenated in a single file, and
the latter meaning that the metadata information contains a specific tag which details a second file comprising the data. In the
"detached" form, the file extension is normally ".nhdr" instead of ".nrrd".
3.1.5 Metamorph "Stack" Files
Metamorph "Stack" files are a special case of TIFF. ImageVis3D can read them by forcing the underlying libtiff library to
read TIFF headers which it does not natively understand.
This is a compatibilityformat; it exists solely to ease migration from past andpresent Metamorph users. If you have a choice, do
not use this format.
Getting Data into ImageVis3D
4/ 22
3.1.6 TIFF Volumes
While the majority of TIFFs contain just a single image inside them, a little known feature of the format is that it stores each
image in what it calls a ‘Directory’. Most TIFFs you would find on the web or insimilar places consist of a single Directory, but
some scientific software can generate these multi-directory TIFFs.
TIFF volumes suffer from poor access time, because each image slice is stored separately instead of as a continuous volume.
Further, thebundledconverter for TIFF volumes is among the worst in ImageVis3D:ImageVis3Dassumes that an input volume is
acontiguous chunk of data. As such, theconverter mustreadeachsliceand append it intoa single volume, requiringsignificantly
increased temporary disk storage, as well as a costly additional conversion step.
It is not recommended you utilize TIFF volumes if given the choice, but the format may be convenient for interoperation with
other software. If you do go this route, we recommend utilizing the libtiff library, which hasexcellentdocumentation.
3.1.7 VFF
This format was written for a specific collaborator. It is a ‘header + data’ format, very similar to an attached NRRD. Little other
information is available at this time.
3.1.8 Brick of Values (BOV)
This is a compatibility format, meant to allow importing data from the VisIt software package. It is a header + data format, very
similar inconcept to a detached NRRD.
In some cases, a BOV may be split into multiple files, using a special % notation for the filenames within the header. This
variation is not supported by ImageVis3D. To ensure you will only have a single data file, make sure you have a "single block"
dataset in VisIt. You can obtain one by applying a non-distributed "Resample" operation on the data.
Here is a VisIt-python script which converts a dataset in the /path/to/dataset.silo file into a 512ˆ3 volume which
ImageVis3D could import:
db = "/path/to/dataset.silo"
OpenDatabase(db)
AddPlot("Pseudocolor""helium")
AddOperator("Resample")
ra = ResampleAttributes()
ra.samplesX = 512
ra.samplesY = 512
ra.samplesZ = 512
ra.distributedResample = False
SetOperatorOptions(ra)
DrawPlots()
dbAtts = ExportDBAttributes()
dbAtts.db_type = "BOV"
dbAtts.filename = "singlehelium"
dbAtts.variables = ("helium")
ExportDatabase(dbAtts)
RemoveAllOperators()
DeleteAllPlots()
CloseDatabase(db)
import sys
sys.exit(0)
After modifying the db = ... line, invoke the script with: /path/to/visit -cli -nowin -s script.py.
Getting Data into ImageVis3D
5/ 22
3.1.9 Fraunhofer Raw Volumes
This is a simple binary format which directly supports a collaborator’s work. Not muchelse is known atthis time, but you could
ask for more information on thetuvok-developers mailing list.
3.1.10 Inveon
The Inveon format is a header + data format, similar in concept to a detached NRRD. In ImageVis3D, users select a .hdr file,
which is assumed to correspond to a .img file: the "header" file must be named exactly the same as the .img file, except with
the .hdr appended (so that the file appears to have multiple extensions).
The format typically stores CT data. Header files consist of lines of metadata with parameters appearing after keys. Currently,
ImageVis3D only recognizes version "001.910" of these files, due to a lack of other data to test with. The format is simple and
efficient, but verbose and ill-documented, with unknown support in other tools; therefore it is recommended that other formats
be used in your visualization solutions, if you have the choice.
3.1.11 Analyze
The Analyze file format was developed at the Mayo Clinic as part of a software package of the same name. Do note that there
are multiple versions of this format; ImageVis3D supports the 7.5 variant.
Data sets in this format consist of small .hdr files which describe the data, and then put raw data in .img files.
3.1.12 Raw Data
If ImageVis3D cannot identify your data type, it will assume the data are raw and open up a conversion dialog to specifythe data
parameters.
This converter expects that data will be 3 dimensional. Data must be layed out, as the name implies, in a raw manner; if there
is metadata stored between data values, this converter will not function correctly. It can, however, skip over some bytes at the
beginning of a data file, to accomodate typical "header + value" formats.
The data must vary in X slowest, and Z quickest. If this is not the case for your data, you should swap X and Z dimensions
that you input. Note that X slow, Z fast corresponds to what many think of as the "C" way to write data, whereas Z fast, X slow
corresponds to what many people consider "Fortran arrays".
The raw conversion dialog is not available when ImageVis3D is run in batch mode, as is the case when scripting commands are
being executed. The source repository includes a command line tool to batch convert a set of datasets.
3.2 Geometry Data
Geometry also supports loading meshes and rendering them concurrently with volumes.
• OBJ (.obj extension): geometry definition popularized by Wavefront software packages.
• PLY (.ply extension): the file format used for theDigitalMichelangeloproject.
• MedAlyVis (.trk, .tri extensions): collaborator-specific format.
• IV3D Mobile (.g3d, .g3dx extensions): format used to render geometry in ImageVis3DMobile.
3.2.1 OBJ
Theobjfileformatis a fairly simple ascii-based file format which is incredibly popular. This is a good format to choose for
interoperation with other tools, but is not efficient and thus not a good choice for large data.
ImageVis3D canonly render geometrywhich consists of triangular faces. OBJ files can, however, store meshes withan arbitrary
number of vertices per face. ImageVis3Dwill triangulate such data during conversion.
Getting Data into ImageVis3D
6/ 22
3.2.2 PLY
PLY is the format used for a variety of models from the Stanford model repository. These are typically scans of objects which
have been obtained via a high resolution laser scanner. The models have become very popular in visualization and computer
graphics research, as a test bed for algorithms.
3.2.3 MedAlyVis
This software does not appear to be generally available, but has a relatively simple format. The format might be a good choice if
you do not have an existing format and need to import some simple triangle meshes into ImageVis3D.
Table 1: MedAlyVis Geometry File Format
Field
Type
Byte Offset
Width
number of vertices
32-bit unsigned integer
0
4
number of triangles
32-bit unsigned integer
4
4
vertex
float
8
12/element
triangle indices
3x 32-bit unsigned integer
8+ sizeof(vertex data)
12/element
Do note that data are assumed to be written out in the same endianness of the machine which is reading the data.
3.2.4 IV3D Mobile
ImageVis3D mobile is the mobile counterpart to ImageVis3D.
4 Adding a Volume Data Converter
4.1 Introduction
ImageVis3D supports some file formats "out of the box". In many cases, the easiest route to getting your data into ImageVis3D
is to write it out in a format the program can read natively. However, this might not always be a viable option. This section
describes the work involved in enabling ImageVis3D to convert a new file format into UVF.
Writing a converter is a good choice if you have pre-existing, single-block data which is not readable by any of the converters
which ship with ImageVis3D.
4.2 ImageVis3D Conversion Steps
ImageVis3D’s IO scheme is based around a multi-stage paradigm. In the first stage, converters identify relevant metadata and
modify thedatainto araw inputstream. Subsequentstages perform tasks such asendian conversion, computing derived metadata,
and generatingthe hierarchy of bricks needed for interactive rendering.
4.3 Writing Your Converter
The basic steps involved in writing your own converter are:
1. Create a new class derived from RAWConverter
2. Register your format’s file extension with the IO subsystem.
3. Modify a conversion routine to create metadata and(potentially) rewrite it as a rawdata stream.
Documents you may be interested
Documents you may be interested