Greetings ImageJ Community,
I have been using ImageJ for several years to analyze large data sets collected with an optical microscope. The issue that I have is that our large data sets consist of large single 8bit images (2.5-3.0 GigaPixel) and currently ImageJ does not support images larger than ~2Gigapixels. The reason for this is of course that ImageJ pixel data is stored in Integer indexed arrays resulting in a max length of 2.147 billion or so. It would be possible to replace the array storage with a custom data structure allowing for Long indexing but it would require significant modification to the API. I just wanted to check and see if anyone else has run into this limitation and/or modified the API already? David |
Hi David,
you should have a look at ImgLib which (amongst other things) addresses this problem: http://fiji.sc/wiki/index.php/Into_ImgLib_-_Generic_Image_Processing_in_Java http://fiji.sc/wiki/index.php/Imglib It allows programming independent of how the data is held (e.g. small cells, ideal for your images), which type of data it is (e.g. write an algorithm for all real valued types of data) and its dimensionality. This is achieved by using Iterators/Cursors that access the image data, similarily to how Collections in Java work. You will find some examples/tutorials on the wiki page and some more documents to get an overview. Nice greetings, Stephan On Jan 30, 2012, at 13:29 , Cross, David A. wrote: > Greetings ImageJ Community, > > I have been using ImageJ for several years to analyze large data sets collected with an optical microscope. The issue that I have is that our large data sets consist of large single 8bit images (2.5-3.0 GigaPixel) and currently ImageJ does not support images larger than ~2Gigapixels. The reason for this is of course that ImageJ pixel data is stored in Integer indexed arrays resulting in a max length of 2.147 billion or so. It would be possible to replace the array storage with a custom data structure allowing for Long indexing but it would require significant modification to the API. I just wanted to check and see if anyone else has run into this limitation and/or modified the API already? > > David |
Hi David,
It would be possible to replace the array storage with a custom data > structure allowing for Long indexing but it would require significant > modification to the API. I just wanted to check and see if anyone else has > run into this limitation and/or modified the API already? > To add to Stephan's comment: ImageJ2, currently in development ( http://developer.imagej.net/), uses ImgLib as the foundation of its data model. Eliminating the 2 Gpx limit per plane is one of our major goals. ImgLib will also allow us to transparently work with images from other sources besides disk. Regards, Curtis On Mon, Jan 30, 2012 at 12:48 PM, Stephan Preibisch <[hidden email]>wrote: > Hi David, > > you should have a look at ImgLib which (amongst other things) addresses > this problem: > > http://fiji.sc/wiki/index.php/Into_ImgLib_-_Generic_Image_Processing_in_Java > http://fiji.sc/wiki/index.php/Imglib > > It allows programming independent of how the data is held (e.g. small > cells, ideal for your images), which type of data it is (e.g. write an > algorithm for all real valued types of data) and its dimensionality. This > is achieved by using Iterators/Cursors that access the image data, > similarily to how Collections in Java work. You will find some > examples/tutorials on the wiki page and some more documents to get an > overview. > > Nice greetings, > Stephan > > On Jan 30, 2012, at 13:29 , Cross, David A. wrote: > > > Greetings ImageJ Community, > > > > I have been using ImageJ for several years to analyze large data sets > collected with an optical microscope. The issue that I have is that our > large data sets consist of large single 8bit images (2.5-3.0 GigaPixel) and > currently ImageJ does not support images larger than ~2Gigapixels. The > reason for this is of course that ImageJ pixel data is stored in Integer > indexed arrays resulting in a max length of 2.147 billion or so. It would > be possible to replace the array storage with a custom data structure > allowing for Long indexing but it would require significant modification to > the API. I just wanted to check and see if anyone else has run into this > limitation and/or modified the API already? > > > > David > |
Free forum by Nabble | Edit this page |