[Insight-users] Re: RE: Re: Importing image data from a byte array
Luis Ibanez
luis.ibanez at kitware.com
Thu Sep 8 20:15:52 EDT 2005
Hi Chris,
Just out of spiritual curiosity...
Why is that your application has images in-memory encoded
in PNG format ?
and...
are they the fidel image of the binary content of a PNG file ?
that is, do the in-memory buffer includes the PNG header data ?
Are you trying to simulate a virtual disk in memory ?
Why are you expecting to have multiple image formats in-memory ?
How did the PNG data got to your application without being
decodes as a raw data buffer ?
It may be that you are trying to solve the wrong problem....
Please share with us some more details of of your application
Thanks
Luis
-------------------
Chris Farmer wrote:
> Thanks, Luis.
>
> I'd like to try to clarify something first here, though. (I feel like
> I'm beating a dead horse with this topic!) Others have suggested these
> tutorial topics, and I've looked at them already. I believe my issue
> is that my data is encoded as PNG, and I somehow need to convert that
> data into a raw format before I can effectively use the memory buffer in
> itk. Is this correct?
>
> Assuming this is correct...
> I currently have virtually no experience with itk, so I'm not sure of
> the best route to make this work. It looks like the PNGImageIO class
> passes a file pointer into the underlying png library, but the png
> library also seems to have the capability to accept a function pointer
> to allow for a custom data reading function. I thought it might be
> possible to write a new ImageSource class to handle this with the memory
> buffer. Or modify the PNGImageIO to handle both file sources and
> in-memory sources. I'd like to be able to handle quite a few encoded
> formats, so it looks like modifying PNGImageIO and other formats might
> be the way to go. Do you have any opinions on this?
>
>
> Thanks,
> Chris
>
>
>
>
> -----Original Message-----
> From: Luis Ibanez [mailto:luis.ibanez at kitware.com]
> Sent: Thursday, September 08, 2005 4:19 PM
> To: Chris Farmer
> Cc: Brian Eastwood; insight-users at itk.org
> Subject: Re: [Insight-users] Re: RE: Re: Importing image data from a
> byte array
>
>
> Hi Chris,
>
> Please read the ITK Tutorials
>
> http://www.itk.org/HTML/Tutorials.htm
>
> in particular
>
> "Getting Started V: Integrating ITK in your Application"
> http://www.itk.org/CourseWare/Training/GettingStarted-V.pdf
>
>
> This tutorial describes multiple strategies for passing data
> between an ITK image and a byte array to and from your
> application.
>
> Some examples on this issue are also presented in the ITK
> Software Guide
>
>
> http://www.itk.org/ItkSoftwareGuide.pdf
>
>
> in the "Data Representation" chapter.
>
>
> They will show you how to use the existing buffers in memory
> and use them to build ITK images without having to duplicate
> the data.
>
>
>
> Regards,
>
>
> Luis
>
>
>
> ------------------
> Chris Farmer wrote:
>
>>Hi Brian,
>>Thanks for the reply. I understand that the PNG (or whatever other)
>>data that I read in will no longer be specifically PNG. I am happy
>
> with
>
>>that. My only issue is that my application already has *in-memory*
>>buffers representing image data in the PNG format. I might be dealing
>>with thousands of these. It's not clear exactly what I might have to
>
> do
>
>>with these images at the moment, but let's just assume for now that I
>>have the simple task of changing the image's format from PNG into TIF.
>>>From the examples in the itk source distribution, it appears that I
>>should use the ImageFileReader and ImageFileWriter and set the
>>appropriate filenames with extensions to read my PNG data and output
>
> TIF
>
>>data. In my current application, this would mean that I have to write
>>out my buffer to a file solely to have it read back in by the
>>ImageFileReader (ultimately the PNGImageIO::Read method). All I want
>
> to
>
>>do is avoid this step of writing a file. I basically want the logic
>>that's within the Read method without the requirement that the data
>>source be a file.
>>
>>
>>
>>Thanks,
>>Chris
>>
>>
>>
>>
>>
>>
>>-----Original Message-----
>>From: Brian Eastwood [mailto:beastwoo at email.unc.edu]
>>Sent: Wednesday, September 07, 2005 5:49 PM
>>To: insight-users at itk.org
>>Subject: [Insight-users] Re: RE: Re: Importing image data from a byte
>>array
>>
>>Hi Chris,
>>
>>Once you have loaded image data through one of ITK's readers into an
>>itk::Image object, it is no longer specifically PNG data--it's just
>>image data. For example, you could do all sorts of processing of the
>>data using an ITK pipeline; you could grab the image data at any point
>
>
>>in the pipeline and display it (e.g. using Qt or VTK); you could
>>transfer the data buffer to another image library format and do
>>something there--for example, ImageMagick. For all of this, there is
>
> no
>
>>need to write intermediary image data to disk. Maybe you can mention
>
> a
>
>>bit more about what your application is supposed to do, and it's
>
> likely
>
>>someone on the list has done something similar, or would know the
>>components to tie together.
>>
>>Cheers,
>>Brian
>>
>>_______________________________________________
>>Insight-users mailing list
>>Insight-users at itk.org
>>http://www.itk.org/mailman/listinfo/insight-users
>>
>>
>
>
>
>
More information about the Insight-users
mailing list