Welcome Guest Search | Active Topics | Members

Processing extremely large TIFF files Options
QuinnUK
Posted: Thursday, January 25, 2007 6:41:17 AM
Rank: Member
Groups: Member

Joined: 1/25/2007
Posts: 6
Points: 0
Hi,

I am currently evaluating Graphics Mill for .NET for use in an image conversion routine. One of the requirements is the ability to handle extremely large TIFF files (200MB - 1GB in size).

In an previous thread (http://www.aurigma.com/Forums/Topic4858-15-1.aspx) Dmitry states that the maximum image size is limited by system resources available. Available system memory is stated to be one of the primary limiting factors.

Is anyone aware of a workaround solution to allow processing of extremely large files which exceed the limits of available system memory? I am thinking of something along the lines of prehaps using physical disk swap space for accomplishing this. I am relatively new to the .NET arena and any suggestions would be greatly appreciated.

Thanks,

Phil Quinn
Dmitry
Posted: Friday, January 26, 2007 2:06:04 AM
Rank: Advanced Member
Groups: Administration , Member

Joined: 8/3/2003
Posts: 603
Points: 639
Hello Phil,

You can try to use large swap file on fast hard drive.

Sincerely yours,
Dmitry Sevostyanov.
QuinnUK
Posted: Friday, January 26, 2007 5:56:51 AM
Rank: Member
Groups: Member

Joined: 1/25/2007
Posts: 6
Points: 0
Hi Dmitry,

I have followed your suggestion and increased the available swap size on the machine I'm developing on to 3GB. This is in addition to the 1GB of RAM this machine has. Unfortunately I am still encountering the following exception when attempting to process the any file upwards of around 250MB:
Code:
Aurigma.GraphicsMill.UnexpectedException: Unable to commit memory.


My code is essentially the same as that in the documentation for the TiffReader class:
Code:
string filename = @"d:\images\huge.tif";

using (Aurigma.GraphicsMill.Codecs.IFormatReader reader =
           Aurigma.GraphicsMill.Codecs.FormatManager.CreateFormatReader(filename))
{

    using (Aurigma.GraphicsMill.Bitmap bitmap =
               new Aurigma.GraphicsMill.Bitmap())
    {
        for (int i = 0; i < reader.FrameCount - 1; i++)
        {
            using (Aurigma.GraphicsMill.Codecs.IFrame frame =
                       reader.LoadFrame(i))
            {
                frame.GetBitmap(bitmap);                
                bitmap.Save(@"d:\images\output\frame_" + i.ToString() + ".jpg");
            }
        }
    }
}


Am I missing a trick here?
Dmitry
Posted: Monday, January 29, 2007 2:16:50 AM
Rank: Advanced Member
Groups: Administration , Member

Joined: 8/3/2003
Posts: 603
Points: 639
Hello,

It seems that GDI is unable to commit memory. Which dimensions and pixel format of TIFF image?

Sincerely yours,
Dmitry Sevostyanov.
QuinnUK
Posted: Monday, January 29, 2007 3:16:33 AM
Rank: Member
Groups: Member

Joined: 1/25/2007
Posts: 6
Points: 0
Hi Dimtry,

The image I am attempting to process was generated using Adobe Photoshop CS2 for Windows. It has the following attributes:

Dimensions: 15000x15000 pixels
Bit Depth: 24
Frames: 1
Include layers: No
Image Compression: None
Pixel Order: Interleaved
Byte Order: IBM PC
Save Image Pyramid: No
Size: 675 035 704 bytes

Graphics Mill for .NET is able to successfully process smaller (<200MB) TIF images generated in the same manner.

Phil
Dmitry
Posted: Wednesday, January 31, 2007 3:44:03 AM
Rank: Advanced Member
Groups: Administration , Member

Joined: 8/3/2003
Posts: 603
Points: 639
Hello,

This exception indicates that Windows GDI cannot commit memory buffer of the specified size. The feature of managing huge-size images will be added in the future versions of Graphics Mill for .NET.

Sincerely yours,
Dmitry Sevostyanov.
QuinnUK
Posted: Wednesday, January 31, 2007 3:53:18 AM
Rank: Member
Groups: Member

Joined: 1/25/2007
Posts: 6
Points: 0
Hi Dimtry,

Thank you for your help with this and for answering my question.

I would welcome a such a feature in future releases of Graphics Mill for .NET.

To solve my immediate problem I shall investigate an alternative solutions to the issue of re-encoding extremely large TIFF files.

Phil.
cjh
Posted: Tuesday, July 24, 2007 12:05:01 PM
Rank: Member
Groups: Member

Joined: 8/3/2006
Posts: 5
Points: 0
Do you know when the next version of Graphics Mill will come out, which will include support for huge file sizes? I was ready to adopt Graphics Mill for a web project I am working on, but ran up against the "unable to commit memory" error.
Alex Kon
Posted: Monday, July 30, 2007 2:31:08 AM
Rank: Advanced Member
Groups: Administration , Member

Joined: 1/31/2005
Posts: 388
Points: 409
Hello,

This issue is included into the schedule, but we are not ready to give publicity to release date of the version which will support "huge" files. We have to do a lot of work for that.

Best wishes, Alex.
Users browsing this topic
Guest


Forum Jump
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

Main Forum RSS : RSS

YAFVision Theme Created by Jaben Cargman (Tiny Gecko)
Yet Another Forum.net version 1.9.1.6 running under Cuyahoga.
Copyright © 2003-2006 Yet Another Forum.net. All rights reserved.