[Insight-users] Reading LSM images

Alexandre GOUAILLARD agouaillard at gmail.com
Tue Feb 16 21:30:08 EST 2010


hi luis,

the vtkLSMImageReader in bioimageXD should be in BSD (and only those
two files in bioimageXD). Thanks again to dan white and many other
that managed to make it so.

The one in gofigure2 is a fork of the previous one, there are only a
few minor modifications, but the functionalities should be the same.

As the megason lab shifted his focus (and rightfully so) back from
building/growing a community to its own internal interest in august
last year, and subsequently, moved all the development to an internal,
close, svn server. It is also possible that they have an enhanced
version available. The code should be BSD, but it is just not publicly
available. You can contact arnaud gelas, or sean megason to request a
copy of the files.

regards,

alex.

On Tue, Feb 16, 2010 at 6:47 AM, Luis Ibanez <luis.ibanez at kitware.com> wrote:
> Hi Alex,
>
> Thanks for the reminder.
>
>
> Jesse:
>
> You may want to look at bioimageXD
> if you don't mind using GPL code:
> http://www.bioimagexd.net/index.php?option=com_content&task=view&id=14&Itemid=28
>
>
> Otherwise,
> you probably could use the vtkLSMReader
> in gofigure2, that is under a BSD license,
> as Alex pointed out.
>
>
>
>    Regards,
>
>
>           Luis
>
>
> -------------------------------------------------------
> On Mon, Feb 15, 2010 at 11:46 AM, Alexandre GOUAILLARD
> <agouaillard at gmail.com> wrote:
>> hi luis, dan, all,
>>
>> luis, you might not remember that long thread we had about LSM reader,
>> but the ITK one does not handle multi channels.
>>
>> Dan (and other from bioimageXD) made their vtkLSM reader available
>> under BSD, and that s the one we eventually used for GoFigure. That
>> the one gaethan is also using on a daily basis.
>>
>> As dan pointed out, the best reader, or the one including most
>> functionaity and the most up to date, out there might be the one from
>> OME, and curtis should have a wrapping between OME and ITK IO working
>> (in cc).
>>
>> good luck.
>>
>> alex.
>>
>> On Sun, Feb 14, 2010 at 5:21 AM, Jesse Stokum <jessestokum at gmail.com> wrote:
>>> Luis,
>>>
>>> I've surrounded my reader->update() line with a try, catch block that
>>> catches itk::ExceptionObject. It doesn't seem to be even getting to
>>> the catch block- simple std::cout statements inside the catch block
>>> are not showing. The following unhandled exception appears however
>>> when I run my program on the vs debugger:
>>>
>>> The thread 'Win32 Thread' (0x1a7c) has exited with code 0 (0x0).
>>> Unhandled exception at 0x00b0a890 in CellSegment.exe: 0xC0000005:
>>> Access violation writing location 0x08fc0040.
>>>
>>> The breakpoint that is detected by vs is in line 1116 of the class
>>> itkTIFFImageIO.cxx.
>>>
>>> Thanks,
>>>
>>> Jesse
>>>
>>>
>>>
>>> On Sat, Feb 13, 2010 at 3:38 PM, Luis Ibanez <luis.ibanez at kitware.com> wrote:
>>>> Hi Jesse,
>>>>
>>>> Thanks for the clarification.
>>>>
>>>> You are right, if the 3D image is in a single file, then
>>>> using the ImageFileReader is the correct way to
>>>> proceed.
>>>>
>>>> Could you please post to the list the exact text
>>>> that you get from the Exceptions ?
>>>>
>>>> If you need examples on how to catch exceptions
>>>> and print their error messages, you will find many
>>>> of them in the directories under
>>>>
>>>>                     Insight/Examples
>>>>
>>>>
>>>>     Thanks
>>>>
>>>>
>>>>             Luis
>>>>
>>>>
>>>> -----------------------------------------------------------------
>>>> On Sat, Feb 13, 2010 at 12:33 PM, Jesse Stokum <jessestokum at gmail.com> wrote:
>>>>> Luis,
>>>>>
>>>>> Thanks for the quick reply, I really appreciate it. The lsm image
>>>>> stack that I'm working with are actually all in a single file - which
>>>>> is why I hesitated to use the ImageSeriesReader for this one. I
>>>>> suppose I could always split the stack into a series of slices imagej
>>>>> or something else, but it would be more time efficient to just read in
>>>>> the entire file. Also, intuitively I think that I would get better
>>>>> filtering results if I handled it as a 3d image, though I could be
>>>>> wrong about that. Thanks!
>>>>>
>>>>> Jesse
>>>>>
>>>>> On Fri, Feb 12, 2010 at 5:07 PM, Luis Ibanez <luis.ibanez at kitware.com> wrote:
>>>>>> Hi Jesse,
>>>>>>
>>>>>>
>>>>>> If you have the images in independent files (one file per slice),
>>>>>> you should use the itk::ImageSeriesReader (instead of the
>>>>>> itk::ImageFileReader).
>>>>>>
>>>>>>
>>>>>> The LSM reader in ITK should be able to manage three channels
>>>>>> (three components per pixel).
>>>>>>
>>>>>> You will find examples on how to use the ImageSeriesReader
>>>>>> in the ITK Software Guide
>>>>>>
>>>>>>                   http://www.itk.org/ItkSoftwareGuide.pdf
>>>>>>
>>>>>> in the chapter "Reading and Writing Images",
>>>>>>
>>>>>> and you will find source code examples in the directory:
>>>>>>
>>>>>>                           Insight/Examples/IO
>>>>>>
>>>>>> in particular, you may find interesting the example:
>>>>>>
>>>>>>            RGBImageSeriesReadWrite.cxx
>>>>>>
>>>>>> you probably only need to replace there the PNGImageIO
>>>>>> class with a LSMImageIO class.
>>>>>>
>>>>>>
>>>>>> Please give it a try and let us know if you find any problems.
>>>>>>
>>>>>> BTW: I you get any Exceptions, please post to the list
>>>>>> the *exact* error message that you get from the exception.
>>>>>>
>>>>>>
>>>>>>     Thanks
>>>>>>
>>>>>>
>>>>>>
>>>>>>           Luis
>>>>>>
>>>>>>
>>>>>>
>>>>>> -------------------------------------------------------------------------------------
>>>>>> On Fri, Feb 12, 2010 at 12:34 PM, Jesse Stokum <jessestokum at gmail.com> wrote:
>>>>>>> I'm trying to use ITK's ImageFileReader to read in LSM format images
>>>>>>> and my code is abruptly throwing exceptions. The images are three
>>>>>>> channel, and are ~30 slices. Should I consider them 3d images? Here's
>>>>>>> the code in my main() I've been trying:
>>>>>>>
>>>>>>>        typedef itk::RGBPixel<unsigned char> PixelType;
>>>>>>>        typedef itk::Image<PixelType, 3> ImageType;
>>>>>>>
>>>>>>>        typedef itk::ImageFileReader<ImageType> ReaderType;
>>>>>>>        typedef itk::LSMImageIO ImageIOType;
>>>>>>>        typedef itk::ImageFileWriter<ImageType> WriterType;
>>>>>>>
>>>>>>>        ReaderType::Pointer reader = ReaderType::New();
>>>>>>>        ImageIOType::Pointer lsmImageIO = ImageIOType::New();
>>>>>>>        reader->SetImageIO(lsmImageIO);
>>>>>>>        reader->SetFileName("Tests.lsm");
>>>>>>>
>>>>>>> Are lsm pixels vector pixels? I guess I'm just unsure how to handle
>>>>>>> this situation. Thanks in advance!
>>>>>>> _____________________________________
>>>>>>> Powered by www.kitware.com
>>>>>>>
>>>>>>> Visit other Kitware open-source projects at
>>>>>>> http://www.kitware.com/opensource/opensource.html
>>>>>>>
>>>>>>> Kitware offers ITK Training Courses, for more information visit:
>>>>>>> http://www.kitware.com/products/protraining.html
>>>>>>>
>>>>>>> Please keep messages on-topic and check the ITK FAQ at:
>>>>>>> http://www.itk.org/Wiki/ITK_FAQ
>>>>>>>
>>>>>>> Follow this link to subscribe/unsubscribe:
>>>>>>> http://www.itk.org/mailman/listinfo/insight-users
>>>>>>>
>>>>>>
>>>>>
>>>>
>>> _____________________________________
>>> Powered by www.kitware.com
>>>
>>> Visit other Kitware open-source projects at
>>> http://www.kitware.com/opensource/opensource.html
>>>
>>> Kitware offers ITK Training Courses, for more information visit:
>>> http://www.kitware.com/products/protraining.html
>>>
>>> Please keep messages on-topic and check the ITK FAQ at:
>>> http://www.itk.org/Wiki/ITK_FAQ
>>>
>>> Follow this link to subscribe/unsubscribe:
>>> http://www.itk.org/mailman/listinfo/insight-users
>>>
>>
>


More information about the Insight-users mailing list