When I tried to load 2GB tiff file, I got an "out of memory" error.
I have 512MB memory, but I set virtual memory to 5GB.
Is it possible to cut the big tiff file into several sub-images
without loading the whole image?
I seem to recall that you get a misleading "out of memory" exception when
the format of the image file is wrong, so make sure you can load a smaller
image of the exact same type, and if not, look for other causes of the
problem.
> When I tried to load 2GB tiff file, I got an "out of memory" error.
> I have 512MB memory, but I set virtual memory to 5GB.
> Is it possible to cut the big tiff file into several sub-images
> without loading the whole image?
> When I tried to load 2GB tiff file, I got an "out of memory" error.
> I have 512MB memory, but I set virtual memory to 5GB.
While Michael made a good point about the misleading errors, if your
TIFF is actually 2GB it's not necessarily surprising that you would get
an "out of memory" error trying to load it.
For sure, there's no way you'd be able to load that under 32-bit
Windows. If I recall correctly, even under 64-bit Windows, .NET is
still 32-bit though, and can't deal with objects larger than 2GB.
If your question hasn't been answered either by Michael's post or the
above, you should probably be more specific about the exact environment
you're using to attempt this.
> Is it possible to cut the big tiff file into several sub-images
> without loading the whole image?
Yes, but AFAIK there's nothing in .NET that would do this for you.
You'll have to parse the TIFF yourself and extract the specific data you
want for each sub-image.
Pete
Michael A. Covington - 23 Sep 2007 07:48 GMT
>> When I tried to load 2GB tiff file, I got an "out of memory" error.
>> I have 512MB memory, but I set virtual memory to 5GB.
>
> While Michael made a good point about the misleading errors, if your TIFF
> is actually 2GB it's not necessarily surprising that you would get an "out
> of memory" error trying to load it.
Also, 2 GB is an enormous TIFF. Assuming it's 64 bits per pixel (16-bit
CMYK), that's still 16 megapixels. What is the source of the image?
Arne Vajhøj - 23 Sep 2007 19:35 GMT
> For sure, there's no way you'd be able to load that under 32-bit
> Windows. If I recall correctly, even under 64-bit Windows, .NET is
> still 32-bit though, and can't deal with objects larger than 2GB.
I think .NET is 64 bit as in that a reference is 64 bit and can
address in 64 bit space. There are just still a limit on maximum
object size.
Arne