[vtkusers] importing image data into VTK from textfile (mimics)

David Doria daviddoria+vtk at gmail.com
Mon Jan 25 12:06:26 EST 2010


On Mon, Jan 25, 2010 at 11:38 AM, michiel mentink
<michael.mentink at st-hughs.ox.ac.uk> wrote:
> for clarity:
>
> that should be a series of segmented volume. The file has got multiple
> slices
> with segmented pixels on them, so I need to create a VTK volume with correct
> x, y and z spacing.
>
> Michael
>
> On Mon, Jan 25, 2010 at 4:36 PM, michiel mentink
> <michael.mentink at st-hughs.ox.ac.uk> wrote:
>>
>> I'd like to import image data into VTK from a textfile.
>> The file is an exported segmented image, coming from MIMICS.
>>
>> The textfile has this data:
>>
>> 82.5000000000000    -119.687500000000    35.2119100000000    251
>> 82.1875000000000    -119.375000000000    35.2119100000000    201
>> 82.5000000000000    -119.375000000000    35.2119100000000    239
>> 82.8125000000000    -119.375000000000    35.2119100000000    226
>> 82.1875000000000    -119.062500000000    35.2119100000000    195
>> 82.5000000000000    -119.062500000000    35.2119100000000    213
>> 82.8125000000000    -119.062500000000    35.2119100000000    201
>> 83.1250000000000    -119.062500000000    35.2119100000000    163
>> 82.1875000000000    -118.750000000000    35.2119100000000    176
>> 82.5000000000000    -118.750000000000    35.2119100000000    176
>> 82.8125000000000    -118.750000000000    35.2119100000000    176
>>
>> with values for x, y, z and image intensity.
>>
>> How do I import this data into VTK?
>>
>> I guess I have to read everything into an array first, create an empty
>> image
>> and then copy the pixel values into that empty image?
>> How do I set the inter pixel spacing and inter slice spacing?
>>
>> Kind regards,
>>
>> Michael
>

To actually read the file, see these examples:
http://www.vtk.org/Wiki/VTK/Examples#Input_and_Output

namely vtkParticleReader and vtkDelimitedTextReader.

I don't see a header in that file you've given us. So I guess you'd
have to know the structure of the file ahead of time.

To create the vtkImageData, you can use
ImageData->SetExtent(xmin, xmax, ymin, ymax, zmin, zmax)
and
ImageData->SetSpacing(x, y, z)

This assumes it is axis aligned. If it is not, you'll have to use
vtkStructuredPoints

Hope that helps,

David



More information about the vtkusers mailing list