1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 <2014> 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 <2014> 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 |
<== Date ==> | <== Thread ==> |
---|
Subject: | RE: CSS BOY and 16-bit Images |
From: | "Janez Golob" <[email protected]> |
To: | <[email protected]> |
Date: | Fri, 21 Mar 2014 14:01:27 +0100 |
Hi, For the purpose of displaying image you can modify the Color Map property like this: Of course the signed 8 bit integers are assumed in my case. And then you set minimum value to -128 and maximum to 127. Regards, Janez -----Izvirno sporočilo----- I should also add that CSS Boy is written in Java, and Java itself does not have native support for unsigned integer data types. It does have the data type "char", which is actually an unsigned 16-bit integer in Java. Interestingly ImageJ treats 16-bit integer images as unsigned, and you have to play some tricks to get it to display signed 16-bit integers correctly, and that is also written in Java! Mark ________________________________________ From: Mark Rivers Sent: Thursday, March 20, 2014 2:43 PM To: Hu, Yong; [email protected]; [email protected] Subject: RE: CSS BOY and 16-bit Images The problem is that EPICS CA does not have native unsigned data types. For efficiency 16-bit image data normally uses a waveform record with FTVL=SHORT. areaDetector has an ancillary PV that indicates whether the waveform is epicsInt16 or epicsUInt16. CSS BOY should be using this PV to determine how to display the data. Mark ________________________________________ From: [email protected] [[email protected]] on behalf of Hu, Yong [[email protected]] Sent: Thursday, March 20, 2014 2:36 PM To: [email protected]; [email protected] Subject: RE: CSS BOY and 16-bit Images Hi Gabriele, Before we conclude that the problem is related to BOY, please use "caget your_image_pv" (or caget -#number your_image_pv) to see what kind of image data you really get. If you find the data really containing negative values such as "-1" (I saw this kind of image data when I worked on Prosilica GigE camera), probably your camera is not properly configured through the AreaDetector driver. If you are sure the image data are all OK with the range you expect (i.e. [0, 65535]), I guess the problem is most likely related to the configuration of the BOY Intensity Graph. Make sure you configure the following properties of the BOY Intensity Graph appropriately based on your camera configuration: Data Height, Data Width, Maximum, Minimum, Color Map, etc. Give us more info such as your CSS version, image snapshots of the BOY & ImageJ, result of "caget your_image_pv". Yong ________________________________________ From: [email protected] [[email protected]] on behalf of Gabriele Salvato [[email protected]] Sent: Thursday, March 20, 2014 10:44 AM Subject: CSS BOY and 16-bit Images Hi all, I use an Intensity Graph widget in a CSS-BOY opi, to show a preview of the images collected by an Andor camera using AreaDetector. The images are 16 bit gray level ones (ranging from 0 to 65535). The widget is connected with a PV (ArrayData) that is the same I use with the ImageJ plugin distributed with AreaDetector. The problem is that the widget displays correctly only the pixels with gray levels < 32767 and interpret grater gray values as negative numbers (16th bit =1). On the contrary, ImageJ displays correctly he entire image. Is there any way to overcome this problem with the BOY widget ? Thank you, Gabriele Salvato |