[ome-devel] omero & imagej

Balaji Ramalingam (Staff) b.ramalingam at dundee.ac.uk
Wed Apr 22 20:59:32 BST 2015


Hi,
The solution to your question is dealt with in two parts in our OMERO-IJ
plugin,

i) Reading the omeroImage using the readPixels method under the
Bio-Formats Plugins package within the Bioformats repository
:
https://github.com/openmicroscopy/bioformats/blob/develop/components/bio-fo
rmats-plugins/src/loci/plugins/in/Importer.java#L85

note : The reader in this case is the OmeroReader but this is under the
OMERO repository,
https://github.com/openmicroscopy/openmicroscopy/blob/develop/components/bl
itz/src/loci/ome/io/OmeroReader.java
 (under the blitz package within the OMERO repository).

ii) Displaying the image using the displayImage method, again under the
Bioformats-Plugins package within the Bioformats repository,
https://github.com/openmicroscopy/bioformats/blob/develop/components/bio-fo
rmats-plugins/src/loci/plugins/in/Importer.java#L88
, which specifically has all the methods for building an ImageJ stack.

Checking these two methods and the OmeroReader should give you all the
information that you are looking for.
To be frank, this is a slightly complex workflow, please feel free to
request for more granularity (if required).

Hope that helps.

Best,
Balaji





__________________
Mr Balaji Ramalingam
Software Developer

OME Team
College of Life Sciences
University of Dundee






On 21/04/2015 19:31, "Alex Rigano" <alex.rigano at umassmed.edu> wrote:

>[to micheal]
>I use the same array of data to create and display the image in my
>application without any modification so I guess, as you were saying,
>that the row/col problem is matlab specific.
>
>[to jean-marie]
>I'm a bit confused.
>I tried to create a specific ImageProcessor based on the type of image
>I'm retrieving from OMERO (i.e. 8 bits -> ByteProcessor) but I'm still
>getting the same problem.
>And if I understand correctly, the 8 bits doesn't require any type of
>conversion using the loci tools.
>So I guess I'm creating the ImageStack in the wrong way, but in the
>Exporter example the ImageStack is given.
>Do you have any example where you import the image from OMERO in imagej?
>I mean where you create ImageStack and ImageProcessors?
>
>Thanks
>Ciao
>
>Alessandro Rigano
>Application and Database Developer II
>Program in Molecular Medicine
>University of Massachusetts Medical School
>373 Plantation Street, Biotech II, Suite 114
>Worcester, MA, 01605
>
>Il 20.04.2015 06:57, Jean-Marie Burel (Staff) ha scritto:
>> Dear Alessandro
>>
>> To import an image in omero using the Omero.insight plugin we follow two
>> paths:
>> If the image has not been modified, we import the image in its original
>> format.
>> If the image has been modified, we generate an OME-TIFF using the
>> Bio-Format Exporter.
>> Below is a link to the Exporter call so you can follow the steps
>>required.
>>
>>https://github.com/openmicroscopy/bioformats/blob/develop/components/bio-
>>fo
>> rmats-plugins/src/loci/plugins/out/Exporter.java
>>
>>
>> Cheers
>>
>> jmarie
>>
>> On 17/04/2015 19:50, "Michael Porter (Staff)"<m.porter at dundee.ac.uk>
>> wrote:
>>
>>> Hi Alessandro
>>>
>>> A while ago I did a similar thing using the matlab toolkit. While
>>> verifying I was putting the pixel values in the right place I realised
>>>I
>>> had to transpose the plane I got from the server before creating the
>>> byteArray. This might be specific to the matlab row/col ordering, but
>>> worth keeping in mind for however you're doing it maybe.
>>>
>>> -------------------------------------
>>> imageStack = ij.ImageStack(sizeX,sizeY);
>>> for thisPlane = 1:numPlanes
>>>     byteArray = reshape(stackIn(:,:,thisPlane)', sizeX * sizeY, 1 );
>>>     imageStack.addSlice('',byteArray);
>>> end
>>>
>>> imp = ij.ImagePlus();
>>> imp.setStack(imageStack, numC, numZ, numT);
>>> -------------------------------------
>>>
>>> Michael.
>>>
>>>
>>>
>>>
>>> -----Original Message-----
>>> From: ome-devel [mailto:ome-devel-bounces at lists.openmicroscopy.org.uk]
>>>On
>>> Behalf Of Alex Rigano
>>> Sent: 17 April 2015 19:07
>>> To: OME External Developer List
>>> Subject: [ome-devel] omero & imagej
>>>
>>> Hi there,
>>>
>>> I'm trying to create an ImageStack object from raw image data retrieved
>> >from an OMERO server via the java API.
>>> My current strategy is to get each frame of the image as a byte array
>>>and
>>> transform it in a int array.
>>> Then create a FloatProcessor for each frame and add it to the
>>>ImageStack.
>>>
>>> The problem I'm experiencing is that if I execute the same analysis
>>> procedure in imageJ and in my application I obtain different results.
>>> So I'm trying to understand if the approach I use to create ImageStack
>>>is
>>> correct.
>>>
>>> I realized that you probably already did that for the OMERO.insight
>>> plugin for ImageJ.
>>> Would it be possible for you to let me know what is the strategy you
>>>used?
>>>
>>> Thanks
>>> Have a great day
>>>
>>> --
>>> Alessandro Rigano
>>> Application and Database Developer II
>>> Program in Molecular Medicine
>>> University of Massachusetts Medical School
>>> 373 Plantation Street, Biotech II, Suite 114 Worcester, MA, 01605
>>>
>>> _______________________________________________
>>> ome-devel mailing list
>>> ome-devel at lists.openmicroscopy.org.uk
>>> http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-devel
>>>
>>> The University of Dundee is a registered Scottish Charity, No: SC015096
>>> _______________________________________________
>>> ome-devel mailing list
>>> ome-devel at lists.openmicroscopy.org.uk
>>> http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-devel
>> The University of Dundee is a registered Scottish Charity, No: SC015096
>
>_______________________________________________
>ome-devel mailing list
>ome-devel at lists.openmicroscopy.org.uk
>http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-devel


The University of Dundee is a registered Scottish Charity, No: SC015096


More information about the ome-devel mailing list