Grabbing images at 60 hz with IMAQ grabber and showing them

Hi all,
I'm programming an application where I 've to show and do some realtime (60hz) calculations on a thermal image coming from a thermal camera through GigE
At the beginning, the program works fast, good framerates, but after a while, framerates start dropping, and eventually will stop.
When I remove the Imaq image viewer (right, I do not work with the external windraw), the program doesn't slow down, but than I haven't any image anymore
I tried with synchronous displays etc, but nothing helps.
Any idea's? 
in annex, you have a screenshot of a part of the program.
Thanks
Attachments:
ni screenshot.png ‏24 KB

Hello Biebel,
Can you share your actual VI's/code (including subVI's)?
It would be interesting to see what you're doing in parallel in your timed loop.
Are you perhaps building any arrays in parallel or in other parts of your VI?
Is the memory and/or CPU usage of the program increasing with time?
Are there any other programs running in parallel?
What do you exactly mean with "after a while"?
Is this 5 seconds or rather several minutes or hours?
Decreasing the update rate could be a good idea, but in this case I think it could still cause issues.
Especially if your frame rate gradually drops, this could indicate a memory leak.
Kind Regards,
Thierry C - Applications Engineering Specialist Northern European Region - National Instruments
CLD, CTA
If someone helped you, let them know. Mark as solved and/or give a kudo.

Similar Messages

  • Need help with Group Headings and showing them on drill down.

    Hi all:
    I think this is a simple question and feel that I should already know the answer but for some reason it eludes me.  What I would like to know is the proper way to hide/display group headings and have them show up on drill down BUT not repeat on each group header.
    What I have for grouping is as follows:
    Group Header #1 u2013 Sales Rep
      Group Header #2 u2013 Customer
        Group Header #3 u2013 Product Class
          Group Header #4 u2013 Stock Code
            Details
          Group Footer #4 u2013 summary calculated on this line
        Group Footer #3  u2013 summary calculated on this line
      Group Footer #2 u2013 summary calculated on this line
    Group Footer #1 u2013 summary calculated on this line
    My goal is to have my report show only the lines listed below by default and allow the user to drill down group by group to the details section:
    Group Header #1 u2013 Sales Rep
      Group Footer #2 u2013 summary calculated on this line
    Group Footer #1 u2013 summary calculated on this line
    If anyone could offer any help it would be greatly appreciated!
    Thanks,
    FatMan

    click section expert, then for example of GH3, highlight it, then click on the formula box for suppression, and put in the code....
    Drilldowngrouplevel < 3
    The result will be that this GH3 is suppressed whenever the report is showing GH1 and 2 but not 3.
    In addition to this, you must Hide(Drill-down ok) GH3. This is also done in the section expert.
    Then just do the same for GF3, and for GH4/GF4 make sure you use...
    Drilldowngrouplevel < 4

  • What is the most suitable image format for processing with imaq?

    Hello.
    What is the most
    suitable image format for processing with imaq?
    I want to capture an image of a usb webcam, store and
    then process it with imaq. I need to know what format to save the
    captured image can then load and process it with imaq vision.
    Thanks

    The only criteria is: don't use JPEG for anything scientific!  The compression involved with saving JPEGs means you always lose information.  I tend to prefer PNG - it's compressed, but non-lossy, and also widely supported.  TIFF is fine as well, but I don't think has any advantages over PNG for this application.  JPEG2000 can give good non-lossy compression I think is slower to read/write than PNG.

  • Create image server operating system with Hyper-V and virtual machines

    Friends,
    Need to replicate the environment they currently have, but wanted to optimize this operation by creating an image of windows server with Hyper-V and virtual servers already installed, what tool do I use? Can someone guide ???
    Dreyher

    I recommend you separate the task of protecting the host from the task of protecting the guest VMs. 
    By "replicate the environment", do you mean backup the VMs in a recoverable state? or do you intend on migrating the VMs to another environment like another physical location? How much down time can you tolerate if any?
    To backup the VMs use a VSS based backup solution. There's plenty out there, including Windows Server backup, Altaro, DPM, Veeam, and many more. This does not require installing agent on any of the VMs, and will not down the VMs during backup. Here's an
    example Powershell script to backup all VMs on the local host:
    Install-WindowsFeature -Name Windows-Server-Backup
    $BackupTarget = "\\server\share"
    $WbTarget = New-WBBackupTarget -NetworkPath $BackupTarget
    $WBPolicy = New-WBPolicy
    Add-WBBackupTarget -Policy $WBPolicy -Target $WbTarget
    Add-WBVirtualMachine -Policy $WBPolicy -VirtualMachine (Get-WBVirtualMachine) # Add all VMs on localhost
    Start-WBBackup -Policy $WBPolicy -Async
    If the intent is VM migration from one location to another, there are plenty of tools to do so with minimal or no down time. Just bing it..
    Sam Boutros, Senior Consultant, Software Logic, KOP, PA http://superwidgets.wordpress.com (Please take a moment to Vote as Helpful and/or Mark as Answer, where applicable) _________________________________________________________________________________
    Powershell: Learn it before it's an emergency http://technet.microsoft.com/en-us/scriptcenter/powershell.aspx http://technet.microsoft.com/en-us/scriptcenter/dd793612.aspx

  • My iWeb image names are incompatible with FTP servers and must be renamed but I can't find the images in iWeb. I can upload to a desktop file and change them there but then I would need to download them to a new site in iWeb to publish them.

    my iWeb image names are incompatible with FTP servers and must be renamed but I can't find the images in iWeb. I can upload to a desktop file and change them there but then I would need to download them to a new site in iWeb to publish them. 
    What's the answer?
    Thanks 

    Many thanks to  responded to my question and sorry not to get back sooner.
    Yes, I discovered by this unfortunate experience that the names of photos are a serious issue if the site is to ever go to an FTP server.  Apple should discuss this carefully in their "manual".
    One more question:  I uploaded the website to a folder on my desktop. When I open it, unlike the photos in iWeb, there are folders for each page which have all the photos in them. I went through each folder and changed the names to be FTP compatible. I'm using iWeb SEO Tool which allows one to upload from this local folder to an FTP server but having trouble.
    Is this because there is an imbedment in iWeb that uses the old photo names to link to the actual photos and it can't find them because of the name changes?
    Thanks again for your help ...
    Phil McP

  • When attempting to download, in the Launch Application panel, it says ..."this link needs to be opened with an application" and shows send to "CC URI Handler", but also Choose an application.  How do I get past this point, as neither option seems to work?

    When attempting to download, in the Launch Application panel, it says ..."this link needs to be opened with an application" and shows send to "CC URI Handler", but also Choose an application.  How do I get past this point, as neither option seems to work?

    Code 6 & Code 7 http://helpx.adobe.com/creative-suite/kb/errors-exit-code-6-exit.html
    or
    A chat session where an agent may remotely look inside your computer may help
    Creative Cloud chat support (all Creative Cloud customer service issues)
    http://helpx.adobe.com/x-productkb/global/service-ccm.html

  • How can I take photos with my iPhone and edit them on my iPad?

    how can I take photos with my iPhone and edit them on my iPad?

    Copy Photos Between iOS Devices
    http://tinyurl.com/cnz95bc
     Cheers, Tom

  • Flattening or merging layers with layer effects and maintaining them.

    How do you maintain multiple layer effects when merging or flattening the layers within a group or on their own ensuring they end up eventually to normal and 100 % opacity? (Using PSCC)
    Thank you.

    You want to flattern an image with multiple layers and layer effects?  It should just happen for you, but there some occassions where flatterning does not show the expected results.  When that happens, select the upper-most layer (so long as it is turned on) and add a copy merged layer to the top of the stack (Shift Alt Ctrl e).  Then flattern, and it should be fine.

  • Problem with store ResultSet and show result in table

    Hi, I'm kind of new in ADF, I need to store ResultSet and show result in table-component. I have two problems:
    1) I get my ResultSet by calling callStoredProcedure(...) and this returns actually ref_cursor as ResultSet.
    When I try to println() contains of this result set in this method - it works OK (commented part),
    but when I want to println() somewhere else (eg. in retrieveRefCursor() method) it doesn't work.
    The problem is that the scrollability of the ResultSet is lost - it becomes a TYPE_FORWARD_ONLY ResultSet.
    Is there any way to store data from ref_cursor for a long time?
    2) My second problem is "store any result set and show this data in table". I have tried use method storeNewResultSet() but
    without result (table contains only "No rows yet" and everything seems to be OK - no exception, no warning, no error...).
    I have tried to call this method with ResultSet from select on dbs (without resultSet as ref_cursor ) - no result with createRowFromResultSet(),
    storeNewResultSet(), setUserDataForCollection()...
    I've tried a lot of ways to do this, but it doesn't work. I really don't know how to make it so it can work.
    Thanks for your help.
    ADF BC, JDev 11.1.1.0
    This is my code from ViewObjectImpl
    package tp.model ;
    import com.sun.jmx.mbeanserver.MetaData ;
    import java.sql.CallableStatement ;
    import java.sql.Connection ;
    import java.sql.PreparedStatement ;
    import java.sql.ResultSet ;
    import java.sql.ResultSetMetaData ;
    import java.sql.SQLException ;
    import java.sql.Statement ;
    import java.sql.Types ;
    import oracle.jbo.JboException ;
    import oracle.jbo.server.SQLBuilder ;
    import oracle.jbo.server.ViewObjectImpl ;
    import oracle.jbo.server.ViewRowImpl ;
    import oracle.jbo.server.ViewRowSetImpl ;
    import oracle.jdbc.OracleCallableStatement ;
    import oracle.jdbc.OracleConnection ;
    import oracle.jdbc.OracleTypes ;
    public class Profiles1ViewImpl extends ViewObjectImpl {
        private static final String SQL_STM = "begin Pkg_profile.get_profile_list(?,?,?,?);end;" ;
        public Profiles1ViewImpl () {
        /* 0. */
        protected void create () {
            getViewDef ().setQuery ( null ) ;
            getViewDef ().setSelectClause ( null ) ;
            setQuery ( null ) ;
        public Connection getCurrentConnection () throws SQLException {
            // Note that we never execute this statement, so no commit really happens
            Connection conn = null ;
            PreparedStatement st = getDBTransaction ().createPreparedStatement ( "commit" , 1 ) ;
            conn = st.getConnection () ;
            st.close () ;
            return conn ;
        /* 1. */
        protected void executeQueryForCollection ( Object qc , Object[] params , int numUserParams ) {
            storeNewResultSet ( qc , retrieveRefCursor ( qc , params ) ) ;
            // callStoredProcedure ( qc , SQL_STM ) ;
            super.executeQueryForCollection ( qc , params , numUserParams ) ;
        /* 2. */
        private ResultSet retrieveRefCursor ( Object qc , Object[] params ) {
            ResultSet rs = null ;
            rs = callStoredProcedure ( qc , SQL_STM ) ;
            return rs ;
        /* 3. */
        public ResultSet callStoredProcedure ( Object qc , String stmt ) {
            CallableStatement st = null ;
            ResultSet refCurResultSet = null ;
            try {
                st = getDBTransaction ().createCallableStatement ( stmt , 0 ) ; // call 
                st.setObject ( 1 , 571 ) ; //set id of my record to 571
                st.registerOutParameter ( 2 , OracleTypes.CURSOR ) ; // my ref_cursor
                st.registerOutParameter ( 3 , Types.NUMERIC ) ;
                st.registerOutParameter ( 4 , Types.VARCHAR ) ;
                st.execute () ; //executeUpdate
                System.out.println ( "Numeric " + st.getObject ( 3 ) ) ;
                System.out.println ( "Varchar " + st.getObject ( 4 ) ) ;
                refCurResultSet = ( ResultSet ) st.getObject ( 2 ) ; //set Cursoru to ResultSet
                //   setUserDataForCollection(qc, refCurResultSet); //don't work
                //   createRowFromResultSet ( qc , refCurResultSet ) ; //don't work
                /* this works but only one-time call - so my resultSet(cursor) really have a data
                while ( refCurResultSet.next () ) {
                    String nameProfile = refCurResultSet.getString ( 2 ) ;
                    System.out.println ( "Name profile: " + nameProfile ) ;
                return refCurResultSet ;
            } catch ( SQLException e ) {
                System.out.println ( "sql ex " + e ) ;
                throw new JboException ( e ) ;
            } finally {
                if ( st != null ) {
                    try {
                        st.close () ; // 7. Close the statement
                    } catch ( SQLException e ) {
                        System.out.println ( "sql exx2 " + e ) ;
        /* 4. Store a new result set in the query-collection-private user-data context */
        private void storeNewResultSet ( Object qc , ResultSet rs ) {
            ResultSet existingRs = getResultSet ( qc ) ;
            // If this query collection is getting reused, close out any previous rowset
            if ( existingRs != null ) {
                try {
                   existingRs.close () ;
                } catch ( SQLException s ) {
                    System.out.println ( "sql err " + s ) ;
            setUserDataForCollection ( qc , rs ) ; //should store my result set
            hasNextForCollection ( qc ) ; // Prime the pump with the first row.
        /*  5. Retrieve the result set wrapper from the query-collection user-data      */
        private ResultSet getResultSet ( Object qc ) {
            return ( ResultSet ) getUserDataForCollection ( qc ) ;
        // createRowFromResultSet - overridden for custom java data source support - also doesn't work
       protected ViewRowImpl createRowFromResultSet ( Object qc , ResultSet resultSet ) {
            ViewRowImpl value = super.createRowFromResultSet ( qc , resultSet ) ;
            return value ;
    }

    Hi I have the same problem like you ...
    My SQL Definition:
    CREATE OR REPLACE TYPE RMSPRD.NB_TAB_STOREDATA is table of NB_STOREDATA_REC
    CREATE OR REPLACE TYPE RMSPRD.NB_STOREDATA_REC AS OBJECT (
       v_title            VARCHAR2(100),
       v_store            VARCHAR2(50),
       v_sales            NUMBER(20,4),
       v_cost             NUMBER(20,4),
       v_units            NUMBER(12,4),
       v_margin           NUMBER(6,2),
       v_ly_sales         NUMBER(20,4),
       v_ly_cost          NUMBER(20,4),
       v_ly_units         NUMBER(12,4),
       v_ly_margin        NUMBER(6,2),
       v_sales_variance   NUMBER(6,2)
    CREATE OR REPLACE PACKAGE RMSPRD.NB_SALES_DATA
    AS
    v_sales_format_tab   nb_tab_storedata;
    FUNCTION sales_data_by_format_gen (
          key_value         IN       VARCHAR2,
          l_to_date         IN       DATE DEFAULT SYSDATE-1,
          l_from_date       IN       DATE DEFAULT TRUNC (SYSDATE, 'YYYY')
          RETURN nb_tab_storedata;
    I have a PLSQL function .. that will return table ..
    when i use this in sql developer it is working fine....
    select * from table (NB_SALES_DATA.sales_data_by_format_gen('TSC',
                                        '05-Aug-2012',
                                        '01-Aug-2012') )
    it returning table format record.
    I am not able to call from VO object. ...
    Hope you can help me .. please tell me step by step process...
    protected Object callStoredFunction(int sqlReturnType, String stmt,
    Object[] bindVars) {
    System.out.println("--> 1");
    CallableStatement st = null;
    try {
    st = getDBTransaction().createCallableStatement("begin ? := " +"NB_SALES_DATA.sales_data_by_format_gen('TSC','05-Aug-2012','01-Aug-2012') ; end;", 0);
    System.out.println("--> 2");
    st.executeUpdate();
    System.out.println("--> 3");
    return st.getObject(1);
    catch (SQLException e) {
    e.printStackTrace();
    throw new JboException(e);

  • How to have a picture with 3 people and put them in a picture with one person

    I don't know if this would come under photomerge or not but I want to take this picture with 3 people in it and add them to a picture with just 1 person.

    Use on of the selection tools, e.g. selection brush, lasso tool, to make a selection of the 3 people. Once you have a complete selection, you will see "marching ants" surrounding it
    Go to Edit>copy to put the selection on the clipboard
    Open the 2nd picture
    Go to Edit>paste. The selection will be on its own layer
    Get the move tool in toolbox, position the selection, and resize it, if necessary, with the corner handles of the bounding box.

  • Need Help with Sticky Hide and Show 0.9

    I am trying to implement Sticky Hide and Show v0.9 into my applications. I have created a custom region named "Hide and Show Sticky" for Theme 8 as shown in the example application. However when I use the templet my region does not have a hid/show button. I have very little experience with Templates so any help would be great!

    Sorry for the bump. I am REALLY stuck! I viewed the source with the region using the Seeded (Non-Sticky) template and using the new Sticky template. I see some dramatic differences but nob that make sense to me. I tried to past the lines in the forum but they are blocked.
    Any help would be great!

  • Average images with IMAQ add and IMAQ divide

    I'm having trouble averaging images I obtain from a 1409 framegrabber.
    I only works for 2 images when acquiring images, either 8 or 10 bit.
    According to me it should work for either 64 10 bits images or 256 8 bits images.
    Does anybody see any obvious mistakes in my program?
    Attachments:
    average_images.vi ‏100 KB

    Hi,
    I haven't been able to look at your code, but are you sure it hasn't got anything to do with overflow? (values > 255)?
    Easiest way (if there is no time constraint), is to use the ImageToArray function. Convert then to I32, and you are able to add as many pictures as you want.
    Afterwards divide and use the ArrayToImage function.

  • CPU load goes to 100% with IMAQ interface and 4 serial ports. Any trick?

    Hello to all,
    I am using an IMAQ interface in conjunction with 4 serial ports for data acquisition. Both systems run with different VI's. My problem comes when I run both at the same time. In this case the CPU goes to 100%, and both programs slow down drastically. I must keep a sample rate between 300 and 600 ms for the test (easily achieved by the IMAQ or when I run only the VI for the serial ports), but unfortunately the sample rate goes to 3-4 seconds when running both programs at the same time.
    I have put “Wait (ms)” in every single while loop, but the delay stays and the CPU is still on the 100%.
    Do you have any clue to overcome this? Any help will be greatly appreciated.
    Thanks in advance.
    Best regards,
    Alejo.

    Ok, this is my VI for the data aquisition through the 4 serial ports. The block diagram of the IMAQ sofware is password protected and I cannot send it at this time. I hope the problem is in the first one.
    Again, thanks.
    Alejo.
    Attachments:
    Micrometers.zip ‏111 KB

  • Keep getting error message " insufficient data for an image" on a pdf with a sketch and it strips out the data as well as the sketch

    I am running Adobe Reader XI and IE 11 I have tried uninstalling and reinstalling and nothing works .   HELP!!!

    Hi barton123,
    The error you describe was an issue with Acrobat X, but I haven't heard of it happening with Reader XI. Have you installed the most recent Reader update? Please choose Help > Check for Updates and install any updates that are available.
    If that doesn't do the trick, it's quite possible that the PDF may be damaged. Do you experience the same error with other PDFs.
    I look forward to hearing back from you.
    Best,
    Sara

  • Add Image to Jasper Report with Struts 2 and Hibernate

    Hi I want to add image to jasper report[pdf] in the environment of Struts 2 framework and hibernate. I am trying
    this for last couple of days, but i am unable to get the work done. if any body know the steps to add image to
    jasper reports, please help me or if u have any tutorials please let me know. I am using iReport-nb-3.5.0 to generate jasper files.
    Thanks in advance

    Finally i found a way to add image to jasper report. It is pretty simple, just give the exact image location to the image expression. In your web application, the image location may vary so, dynamically set the image location from your model class. Also, make sure that your lib folder contains itext-1.3.1.jar. If your lib folder contains itext-1.3.1.jar and iText-2.1.3.jar u will get like: java.lang.NoSuchMethodError: com.lowagie.text.Image.plainWidth()F
    So remove the iText-2.1.3.jar and keep only itext-1.3.1.jar, try this will work

Maybe you are looking for

  • Inserting data in a subtable

    Hello, My question: I am using the following code to create a supertype and 2 subtypes and a table based on the supertype (this code works): CREATE TYPE COMPANY_OBJ AS OBJECT ( COMPANY_CODE                    NUMBER(4), COMPANY_TYPE                  

  • Does BPM - for a synchronous interface have a performance bottleneck

    Hi All, Just have a small query. We have a scenario in which we need to receive PO details from a legacy system, create a sales order in ecc and send back a response table to the legacy system. Our understanding is that this can be acheived using syn

  • Convert ArrayList into XML file

    Hi, Can anyone tell me how to convert ArrayList to XML file and save that file. Manoj

  • How to setup and auxiliary database

    Hi Everyone, i studied the documentation to create duplicate db, i understand the steps, only one thing is not cleared in my mind that how to create a auxiliary db. should i create a new database through database creation wizard, then modify the para

  • How do I create a sparkle or flare effect?

    I have a client that would like a sparkle to come of his teeth sort of like a Mr. Clean ad. Just a brief little sparkle sort of thing with a little twisting action would be perfect. Any suggestions?