Page 1 of 1

IRI files (thermography) conversion?

Posted: 2010-12-15T09:34:58-07:00
by PetRoo
Hello Magicians,

we recently hit upon so-called IRI files stemming from thermography cameras. It seems to be a somewhat popular file format for them, but we did not find any clue as to their internal structure. As we would like to record thermography images and work upon them (add images, average them, etc.) for scientific monitoring purposes via self-created programs we would love to get this format into something more digestible for our own programming efforts.

According to our present recherches any IRI file seems to be able to contain a bunch of sub-structures, like a nice false-colour image, the original grey value image and an up to 30 sec audio recording to carry annotations to the visual information. This smells quite like some non-explicitly mentioned archive format (like e.g. the open document file structures) but I was neither able to get any further information on the internal structure nor could I get anything out of an example file by applying some of the standard de-archivers.

If you are interested in including those IRI files in the list of supported "image" formats I can provide two example files to work upon.

Kind regards,

Peter

Re: IRI files (thermography) conversion?

Posted: 2011-02-10T13:09:50-07:00
by PetRoo
Hello again,

sorry to bother again, but we are still after a conversion routine for those dreaded IRI files!

In the meantime we were lucky so far that we identified the place were the included image seems to start. We are able to obtain the gross image, but the grey values are definitely out of order. Here some help would really be appreciated!

To give you the chance of reflecting on this problem, here are some files to show what we achieved so far:

http://www.peter-roosen.com/im/TI000006.IRI is the file in question, to be evaluated.

http://www.peter-roosen.com/im/ti06-screenshot.png shows a screenshot that was produced from the interactive IRI manipulation program and creates the reference to arrive at with any automated ImageMagick conversion.

http://www.peter-roosen.com/im/ti06-xor49151.png is the best approximation we arrived at with the following command:

Code: Select all

convert -size 160x120+0x500 GRAY:TI000006.IRI -evaluate Xor 49151 -rotate 180 ti-image.png
Obviously there is a greyscale overflow in the image. But I was not able to eliminate it with various addtional operations.

So, any ideas, please, how to approximate the screenshot from the interactive program?

Kind regards,

Peter

Re: IRI files (thermography) conversion?

Posted: 2011-07-18T04:34:54-07:00
by doecz
Hi,
I thing pixel in iri file is't 16-bit number, but two 8-bit number. I use In c + + following code for loading:

Code: Select all

unsigned char num1;
signed char num2;

for (int row = 0; row<SIZE_THERMO_Y; row++)
        for (int column = 0; column<SIZE_THERMO_X; column++) {
            dataStream >> num1;
            dataStream >> num2;
            valueThermo[column][row] = num1 + (num2*256);
        }
but i'm not sure it is correctly.

Re: IRI files (thermography) conversion?

Posted: 2011-07-18T14:09:13-07:00
by PetRoo
Hello Doecz,

thanks for your response! But the topic was settled in the meantime by having gained access to a real-valued CSV data file of the pixel values for each acquired image. This can easily be transferred into a real image by PIL, the Python image library, even with easily custom defined grey value scales which is more than would be possible by a simple (because uncalibrated) IRI grey value extraction.

The post-processing for noise reduction and such is consecutively performed with ImageMagicks convert, of course. :-)

Regards,

Peter

Re: IRI files (thermography) conversion?

Posted: 2011-07-18T22:09:32-07:00
by anthony
That C program just does a 'endian' conversion. Something IM can do using the -endian setting.
In this case -endian LSB (least significate byte first)

Re: IRI files (thermography) conversion?

Posted: 2011-07-22T04:17:06-07:00
by doecz
If used -endian LSB ImageMagick reads the image as the array of unsigned short type, but pixel representing signed short type. I can not find parameter that would change data type of pixel in the Display program.