Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017 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
<== Date ==> <== Thread ==>

Subject: RE: NTNDArrays, Java
From: Mark Rivers <rivers@cars.uchicago.edu>
To: "'Madden, Timothy J.'" <tmadden@aps.anl.gov>, "tech-talk@aps.anl.gov" <tech-talk@aps.anl.gov>
Date: Fri, 10 Mar 2017 17:25:32 +0000

Tim,

 

I suggest that you create a branch of ADCore with your new Java viewer code and push it to github.com/areaDetector/ADCore.  That way others can look at the code, test it, and make suggestions.

 

Has anyone else written a Java PVAccess client that receives NTNDArrays?

 

Mark

 

 

From: tech-talk-bounces@aps.anl.gov [mailto:tech-talk-bounces@aps.anl.gov] On Behalf Of Madden, Timothy J.
Sent: Friday, March 10, 2017 10:16 AM
To: tech-talk@aps.anl.gov
Subject: NTNDArrays, Java

 

I am playing with NTNDArrays. I generate them from AD 2-5 with a sim detector and the pva plugin.
pvget can display the arrays that pop out of the driver.

Now I am writing a java program to monitor and eventually display in Image J.

The code is below.

I problem I have is that the dimensions and uniqie ID seem to be abscent from the data.
Also, calling NTNDArray.wrap fails, as the returned data seems to be not a real NT ND Array.

Furtner, the image data is byte[] type. I can get out the Union or values, or call toString to get the raw data.
I am not sure how  Java figures out if the union is bytes or ints or whatever.
I will have to be able to ask the NTNDArray what its datatype is, then convert to ints or whatever the datatype is. Not sure how this is done.
I have looked at the C++ code for the PVA ADDriver in AD2-5, but there are differences between cpp and java interfaces.
Also I have to call wrapUnsafe to even convert  the PVStructure into NTNDArray, which makes no sense. wrap fails.



Thanks
Tim Madden

Code below:


    public static void main(String[] args) {
        // TODO Auto-generated method stub

        System.out.println("Maddens test java get image");
        if (true)
        {
        PvaClient pva=PvaClient.get();
        PvaClientChannel mychannel = pva.channel("13SIM1:Pva1:Image");
       
       
        PvaClientMonitor pvamon=mychannel.monitor();
        //pvamon.connect();
        pvamon.start();
       
        PvaClientMonitorData easydata = pvamon.getData();
       
       
        while(true)
        {
        pvamon.waitEvent(0);
       
        //String sc = easydata.showChanged();
        PVStructure pvs = easydata.getPVStructure();
       
       
        NTNDArray myarray =NTNDArray.wrapUnsafe(pvs);
        //String imgstr = myarray.toString();
           
        PVUnion pvu = myarray.getValue();
       
        PVStructureArray dims = myarray.getDimension();
       
        //org.epics.pvdata.pv.Field a = pvu.getField();
        //PVInt uniqid = myarray.getUniqueId();
       
       
        //PVStructureArray psa =myarray.getAttribute();
   
        System.out.println("got data ");

        pvamon.releaseEvent();
       
        }
   
        }
   
       
        System.out.println("Maddens test java end");

    }


References:
NTNDArrays, Java Madden, Timothy J.

Navigate by Date:
Prev: RE: NTNDArrays, Java Madden, Timothy J.
Next: RE: NTNDArrays, Java Mark Rivers
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
Navigate by Thread:
Prev: RE: NTNDArrays, Java Madden, Timothy J.
Next: Re: StreamDevice Checksum Pseudo-Converter Florian Feldbauer
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
ANJ, 15 Mar 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·