Acquire and save images at high frame rates

I am attempting to acquire and save images at a rate of 3000 fps for approximately 100 ms using a JAI 6740GE GigE camera, LabView 2011, and IMAQdx.  I can acquire the images at the necessary rates, but am dropping images when I try to save them.  The current test program I am working with contains a producer loop for acquiring the images, converting them into an array, and putting them into a queue, and a consumer loop to write the arrays to a TDMS file.  Currently I can acquire and save the images at a rate of approximately 1200 fps before I begin losing a few frames.  The code is attached below.  I would appreciate any ideas to be able to save the images without dropping frames.
Attachments:
Trigger Image to AVI faster.vi ‏38 KB

Hi Rox,
How are you verifying that you are loosing the frames during the saving and not during the acquisition? Are you able to determine where you are dropping frames? Is it at the beginning, the end or randomly? Thank you!
Regards,
Kira T

Similar Messages

  • Resize and display large images at high frame rate.

    Hi,
    I am looking for some suggestions on how to implement fast image display.
    I have a device which creates 3000x3000 data arrays which I then convert into images. The device can output this data at anywhere from 5-50fps.
    For display these are then resized to about 500x500 pixels.
    The problem I have is that the resizing part of the process is quite slow and takes around 3/4 second .
    So does anyone have an suggestions on I can get the images to the screen at a reasonably quick rate ?
    I guess I need some sort of queue but has someone an example of how to do this ?
    Thanks,
    Paul

    Hi Rox,
    How are you verifying that you are loosing the frames during the saving and not during the acquisition? Are you able to determine where you are dropping frames? Is it at the beginning, the end or randomly? Thank you!
    Regards,
    Kira T

  • Cannot create slideshow with high frame rate

    I have just bought QuickTime Pro version 7. I am using Windnows XP SP2 on a Pentium D machine.
    I am trying to create a movie with still images I captured from my digital camera. I created a 10 seconds slideshow and set the frame rate to 30 frames per second. I then saved the file as a Quicktime movie. When I played the movie with my QuickTime Player, I could see actions for the first two seconds only. After that, the picture didn't change eventhough the progression bar was moving. Once the movie reached the end, the player then changed the frame to show the last picture of my slideshow.
    In short, only the first 60 images are shown in the first 2 seconds. Then the slideshow was stuck with the 60th image, until it changed to the 300th image at the very end.
    Does anybody has the same experience? Did I do anything wrong?

    One more thing. If I set the frame rate to be less than 10 frames per second, it works fine. It just won't work with high frame rate.

  • 4K Monitor Support - Higher Frame Rate Hz

    To all those geeks who are trying to get 4K support from your MacBook Pro I have done it.  Using SwitchResX, Belkin Mini DisplayPort to HDMI adapter it works on the Seiki SE50UY04.  I am powering it with a MacBook Pro 2.3GHz Intel Core i7, 8GB 1600 MHz DDR3, running 10.8.4 OS X.  I have plugged the Belkin into the left side LightingBolt outlet.  I am running the Seiki monitor at 3480x2160 @14Hz.  Images are fine.  Screen a little slow, but usable.  Have run a number of 4K videos using Quicktime7 and FlipPlayer and DIVx.  FlipPlayer was not as good.
    FYI.  The Best Buy rocketfish Thunderbolt/Mini Displayport to HDMI adapter did NOT work.  Nor did the right sided HDMI port on the MacBook.
    Has anyone gotten this to work at a higher frame rate and how did they do it?

    I did what you did, but with te timing from the link below.
    It works with 15 Hz - wow!
    Then I aranged the screens and restart again.
    After this in system/monitor (standard controlfield) I can select as frequency 15 Hz AND 30 Hz.
    Did it - got it! 4K at 30 Hz is what my seiki SE39UY04 is telling and what I can see.
    For info: My miniDispayport to HDMI is Club3D CAC1153 (active one HDMI1.4)!
    God luck

  • Perf. implications of high frame rate

    What are the performance implications of using a high frame
    rate in Flex. Our designers suggest that a frame rate of 60fps is
    smoother animation. They are creating Flex components with Flash
    CS3 and want to use the higher rate and use them in Flex.

    As you might expect, a higher framerate is going to consume
    more of the CPU. It's pretty much that simple. Some end user's
    computers may not be able to keep up with the framerate and their
    experience will be less smooth, probably less smooth than if you
    used a smaller framerate. I suggest you experiment.

  • High frame rate outputting

    Is it possible, having shot footage at 100fps (with a timebase at 25), then interpreted footage as 100fps to maintain the high speed frame rate, to output this as a 100fps file, to be watched at the same speed? I'm guessing only some machines/players can support this, but this is separate issue. I'm wanting to find out about getting a workflow for high frame rate footage in Premiere (or After Effects, as I read somewhere else this can support 99fps outputs.)
    This is not a question of slow motion shooting/overcranking- there seems to be the capability to shoot high frame- is it possible to retain this in order to output it at the same speed it was shot?
    But the issue seems that high end footage (say from a RED for instance) can only support a timebase framerate of maximum 59.96 (although something like a GoPro can go to 120p)
    Would be great to discuss this more- its only a matter of time before this becomes more prevalent...

       If the GoPro 2 does 60p I'd do that if you want slow footage from that cam too.   Either way I'd do a custom project storyline at 720/30 frames. Then do some web searching on the term "conform" because you'll want (I think) to conform the fast stuff down and that will slow it down. You'll just import some portion of your 120fps footage from the event library  and  and choose Conform Speed from the Retime menu (command R). You can go beyond that by retiming further and by choosing Optical Flow for video quality. If that still isn't enough you might need twixtor but you may find that's workable. If you shoot at 120fps you'll get some seriously slow stuff after conforming and retiming slower. 

  • Since I refreshed Firefox 36.0.4, "Save page as" and "save image as" are not working (even in Safe mode)

    I refreshed FF 36.0.4 on invite. Since then "save page as " and "save image as" are not working -- no response when clicked.
    In Safe Mode, same problem.
    I serached past forum discussions and found several occurrences, but no convincing response.

    ''afew2 [[#question-1054433|said]]''
    <blockquote>
    I refreshed FF 36.0.4 on invite. Since then "save page as " and "save image as" are not working -- no response when clicked.
    In Safe Mode, same problem.
    I serached past forum discussions and found several occurrences, but no convincing response.
    </blockquote>
    I tried troubleshooting plugins, none appeared to be causing the problem.
    I installed 36.0.1, but no difference. Went back to 36.0.4, still no change.
    I ran a malware check with Malwarebytes, no change.
    A past thread here suggested deleting localstore.rdf, which I tried, no result.
    People have had this problem in the past. No one has any idea of how to fix it?

  • How to play/record at same time and save image from video

    i started working on a project and that made my life hell although it was so simple. reason was that i couldnt find small/simple code to understand problems and no proper documents. . finally i have done that. and here is the code (without much complex code of interface). it shows vidoe, records a small part of it at start and takes a snapshot (no buttons or events involved). hope it might help someone starting to learn JMF.
    import java.io.*;
    import java.awt.*;
    import java.net.*;
    import java.awt.event.*;
    import java.util.Vector;
    import javax.media.*;
    import javax.media.rtp.*;
    import javax.media.rtp.event.*;
    import javax.media.rtp.rtcp.*;
    import javax.media.protocol.*;
    import javax.media.protocol.DataSource;
    import javax.media.format.AudioFormat;
    import javax.media.format.VideoFormat;
    import javax.media.Format;
    import javax.media.format.FormatChangeEvent;
    import javax.media.control.BufferControl;
    import javax.media.control.FrameGrabbingControl;
    import javax.imageio.ImageIO;
    import java.util.Date;
    import javax.media.util.BufferToImage;
    import java.awt.image.BufferedImage;
    * AVReceive2 to receive RTP transmission using the new RTP API.
    public class AVReceive2 implements ReceiveStreamListener, SessionListener,
    ControllerListener
    public static DataSource ds2, ds, ds3;
    String sessions[] = null;
    RTPManager mgrs[] = null;
    Vector playerWindows = null;
    boolean dataReceived = false;
    Object dataSync = new Object();
    public AVReceive2(String sessions[]) {
    this.sessions = sessions;
    public static DataSource getData() {
    return ds;
    protected boolean initialize() {
    try {
    InetAddress ipAddr;
    SessionAddress localAddr = new SessionAddress();
    SessionAddress destAddr;
    mgrs = new RTPManager[sessions.length];
    playerWindows = new Vector();
    SessionLabel session;
    // Open the RTP sessions.
    for (int i = 0; i < sessions.length; i++) {
    // Parse the session addresses.
    try {
    session = new SessionLabel(sessions);
    } catch (IllegalArgumentException e) {
    System.err.println("Failed to parse the session address given: " + sessions[i]);
    return false;
    System.err.println(" - Open RTP session for: addr: " + session.addr + " port: " + session.port + " ttl: " + session.ttl);
    mgrs[i] = (RTPManager) RTPManager.newInstance();
    mgrs[i].addSessionListener(this);
    mgrs[i].addReceiveStreamListener(this);
    ipAddr = InetAddress.getByName(session.addr);
    if( ipAddr.isMulticastAddress()) {
    // local and remote address pairs are identical:
    localAddr= new SessionAddress( ipAddr,
    session.port,
    session.ttl);
    destAddr = new SessionAddress( ipAddr,
    session.port,
    session.ttl);
    } else {
    localAddr= new SessionAddress( InetAddress.getLocalHost(),
    session.port);
    destAddr = new SessionAddress( ipAddr, session.port);
    mgrs[i].initialize( localAddr);
    // You can try out some other buffer size to see
    // if you can get better smoothness.
    BufferControl bc = (BufferControl)mgrs[i].getControl("javax.media.control.BufferControl");
    if (bc != null)
    bc.setBufferLength(350);
    mgrs[i].addTarget(destAddr);
    } catch (Exception e){
    System.err.println("Cannot create the RTP Session: " + e.getMessage());
    return false;
    // Wait for data to arrive before moving on.
    long then = System.currentTimeMillis();
    long waitingPeriod = 30000; // wait for a maximum of 30 secs.
    try{
    synchronized (dataSync) {
    while (!dataReceived &&
    System.currentTimeMillis() - then < waitingPeriod) {
    if (!dataReceived)
    System.err.println(" - Waiting for RTP data to arrive...");
    dataSync.wait(1000);
    } catch (Exception e) {}
    if (!dataReceived) {
    System.err.println("No RTP data was received.");
    close();
    return false;
    return true;
    public boolean isDone() {
    //return playerWindows.size() == 0;
    return false;
    * Close the players and the session managers.
    protected void close() {
    for (int i = 0; i < playerWindows.size(); i++) {
    try {
    ((PlayerWindow)playerWindows.elementAt(i)).close();
    } catch (Exception e) {}
    playerWindows.removeAllElements();
    // close the RTP session.
    for (int i = 0; i < mgrs.length; i++) {
    if (mgrs[i] != null) {
    mgrs[i].removeTargets( "Closing session from AVReceive2");
    mgrs[i].dispose();
    mgrs[i] = null;
    PlayerWindow find(Player p) {
    for (int i = 0; i < playerWindows.size(); i++) {
    PlayerWindow pw = (PlayerWindow)playerWindows.elementAt(i);
    if (pw.player == p)
    return pw;
    return null;
    PlayerWindow find(ReceiveStream strm) {
    for (int i = 0; i < playerWindows.size(); i++) {
    PlayerWindow pw = (PlayerWindow)playerWindows.elementAt(i);
    if (pw.stream == strm)
    return pw;
    return null;
    * SessionListener.
    public synchronized void update(SessionEvent evt) {
    if (evt instanceof NewParticipantEvent) {
    Participant p = ((NewParticipantEvent)evt).getParticipant();
    System.err.println(" - A new participant had just joined: " + p.getCNAME());
    * ReceiveStreamListener
    public synchronized void update( ReceiveStreamEvent evt) {
    RTPManager mgr = (RTPManager)evt.getSource();
    Participant participant = evt.getParticipant();     // could be null.
    ReceiveStream stream = evt.getReceiveStream(); // could be null.
    if (evt instanceof RemotePayloadChangeEvent) {
    System.err.println(" - Received an RTP PayloadChangeEvent.");
    System.err.println("Sorry, cannot handle payload change.");
    System.exit(0);
    else if (evt instanceof NewReceiveStreamEvent) {
    try {
    stream = ((NewReceiveStreamEvent)evt).getReceiveStream();
    //DataSource
    ds2 = stream.getDataSource(); // this original cant be used now
    // ds is used to play video
    ds = Manager.createCloneableDataSource(ds2);
    // ds3 is used to record video
    ds3 = ((SourceCloneable)ds).createClone();
    // Find out the formats.
    RTPControl ctl = (RTPControl)ds.getControl("javax.media.rtp.RTPControl");
    if (ctl != null){
    System.err.println(" - Recevied new RTP stream: " + ctl.getFormat());
    } else
    System.err.println(" - Recevied new RTP stream");
    if (participant == null)
    System.err.println(" The sender of this stream had yet to be identified.");
    else {
    System.err.println(" The stream comes from: " + participant.getCNAME());
    // create a player by passing datasource to the Media Manager
    Player p = javax.media.Manager.createPlayer(ds);
    if (p == null)
    return;
    p.addControllerListener(this);
    p.realize();
    PlayerWindow pw = new PlayerWindow(p, stream);
    playerWindows.addElement(pw);
    // Notify intialize() that a new stream had arrived.
    synchronized (dataSync) {
    dataReceived = true;
    dataSync.notifyAll();
    } catch (Exception e) {
    e.printStackTrace();
    return;
    else if (evt instanceof StreamMappedEvent) {
    if (stream != null && stream.getDataSource() != null) {
    DataSource ds = stream.getDataSource();
    // Find out the formats.
    RTPControl ctl = (RTPControl)ds.getControl("javax.media.rtp.RTPControl");
    System.err.println(" - The previously unidentified stream ");
    if (ctl != null)
    System.err.println(" " + ctl.getFormat());
    System.err.println(" had now been identified as sent by: " + participant.getCNAME());
    else if (evt instanceof ByeEvent) {
    System.err.println(" - Got \"bye\" from: " + participant.getCNAME());
    PlayerWindow pw = find(stream);
    if (pw != null) {
    pw.close();
    playerWindows.removeElement(pw);
    * ControllerListener for the Players.
    public synchronized void controllerUpdate(ControllerEvent ce) {
    Player p = (Player)ce.getSourceController();
    if (p == null)
    return;
    // Get this when the internal players are realized.
    if (ce instanceof RealizeCompleteEvent) {
    PlayerWindow pw = find(p);
    if (pw == null) {
    // Some strange happened.
    System.err.println("Internal error!");
    System.exit(-1);
    pw.initialize();
    pw.setVisible(true);
    p.start();
    try {
    // make it wait so that video can start otherwise image will be null. u must call this method with a button
    Thread.sleep(2500);
    catch (Exception e) {
    e.printStackTrace();
    // Grab a frame from the capture device
    FrameGrabbingControl frameGrabber = (FrameGrabbingControl) p.getControl(
    "javax.media.control.FrameGrabbingControl");
    Buffer buf = frameGrabber.grabFrame();
    // Convert frame to an buffered image so it can be processed and saved
    Image img = (new BufferToImage( (VideoFormat) buf.getFormat()).
    createImage(buf));
    BufferedImage buffImg = new BufferedImage(img.getWidth(null),
    img.getHeight(null),
    BufferedImage.TYPE_INT_RGB);
    Graphics2D g = buffImg.createGraphics();
    g.drawImage(img, null, null);
    // Overlay curent time on image
    g.setColor(Color.RED);
    g.setFont(new Font("Verdana", Font.BOLD, 12));
    g.drawString( (new Date()).toString(), 10, 25);
    try { // Save image to disk as PNG
    ImageIO.write(buffImg, "jpeg", new File("c:\\webcam.jpg"));
    catch (Exception e) {
    e.printStackTrace();
    // this will record the video for a few seconds. this should also be called properly by menu or buttons
    record(ds3);
    if (ce instanceof ControllerErrorEvent) {
    p.removeControllerListener(this);
    PlayerWindow pw = find(p);
    if (pw != null) {
    pw.close();
    playerWindows.removeElement(pw);
    System.err.println("AVReceive2 internal error: " + ce);
    * A utility class to parse the session addresses.
    class SessionLabel {
    public String addr = null;
    public int port;
    public int ttl = 1;
    SessionLabel(String session) throws IllegalArgumentException {
    int off;
    String portStr = null, ttlStr = null;
    if (session != null && session.length() > 0) {
    while (session.length() > 1 && session.charAt(0) == '/')
    session = session.substring(1);
    // Now see if there's a addr specified.
    off = session.indexOf('/');
    if (off == -1) {
    if (!session.equals(""))
    addr = session;
    } else {
    addr = session.substring(0, off);
    session = session.substring(off + 1);
    // Now see if there's a port specified
    off = session.indexOf('/');
    if (off == -1) {
    if (!session.equals(""))
    portStr = session;
    } else {
    portStr = session.substring(0, off);
    session = session.substring(off + 1);
    // Now see if there's a ttl specified
    off = session.indexOf('/');
    if (off == -1) {
    if (!session.equals(""))
    ttlStr = session;
    } else {
    ttlStr = session.substring(0, off);
    if (addr == null)
    throw new IllegalArgumentException();
    if (portStr != null) {
    try {
    Integer integer = Integer.valueOf(portStr);
    if (integer != null)
    port = integer.intValue();
    } catch (Throwable t) {
    throw new IllegalArgumentException();
    } else
    throw new IllegalArgumentException();
    if (ttlStr != null) {
    try {
    Integer integer = Integer.valueOf(ttlStr);
    if (integer != null)
    ttl = integer.intValue();
    } catch (Throwable t) {
    throw new IllegalArgumentException();
    * GUI classes for the Player.
    class PlayerWindow extends Frame {
    Player player;
    ReceiveStream stream;
    PlayerWindow(Player p, ReceiveStream strm) {
    player = p;
    stream = strm;
    public void initialize() {
    add(new PlayerPanel(player));
    public void close() {
    player.close();
    setVisible(false);
    dispose();
    public void addNotify() {
    super.addNotify();
    pack();
    * GUI classes for the Player.
    class PlayerPanel extends Panel {
    Component vc, cc;
    PlayerPanel(Player p) {
    setLayout(new BorderLayout());
    if ((vc = p.getVisualComponent()) != null)
    add("Center", vc);
    if ((cc = p.getControlPanelComponent()) != null)
    add("South", cc);
    public Dimension getPreferredSize() {
    int w = 0, h = 0;
    if (vc != null) {
    Dimension size = vc.getPreferredSize();
    w = size.width;
    h = size.height;
    if (cc != null) {
    Dimension size = cc.getPreferredSize();
    if (w == 0)
    w = size.width;
    h += size.height;
    if (w < 160)
    w = 160;
    return new Dimension(w, h);
    public void record(DataSource ds) {
    Format formats[] = new Format[1];
    formats[0] = new VideoFormat(VideoFormat.CINEPAK);
    FileTypeDescriptor outputType =
    new FileTypeDescriptor("video.x_msvideo");
    Processor p = null;
    try {
    p = Manager.createRealizedProcessor(new ProcessorModel(ds,formats,
    outputType));
    } catch (IOException e) {
    e.printStackTrace();
    } catch (NoProcessorException e) {
    e.printStackTrace();
    } catch (CannotRealizeException e) {
    e.printStackTrace();
    // get the output of the processor
    DataSource source = p.getDataOutput();
    // create a File protocol MediaLocator with the location
    // of the file to
    // which bits are to be written
    MediaLocator dest = new MediaLocator("file://vvv.mpeg");
    // create a datasink to do the file writing & open the
    // sink to make sure
    // we can write to it.
    DataSink filewriter = null;
    try {
    filewriter = Manager.createDataSink(source, dest);
    filewriter.open();
    } catch (NoDataSinkException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    } catch (SecurityException e) {
    e.printStackTrace();
    // now start the filewriter and processor
    try {
    filewriter.start();
    } catch (IOException e) {
    e.printStackTrace();
    p.start();
    try {
    Thread.sleep(10000);
    }catch(Exception e) { }
    p.close();
    filewriter.close();
    // stop and close the processor when done capturing...
    // close the datasink when EndOfStream event is received...
    public static void main(String argv[]) {
    //     if (argv.length == 0)
    //     prUsage();
    String[] a = new String[1];
    a[0] = ("192.168.0.45/4002");
    AVReceive2 avReceive = new AVReceive2(a);
    if (!avReceive.initialize()) {
    System.err.println("Failed to initialize the sessions.");
    System.exit(-1);
    // Check to see if AVReceive2 is done.
    try {
    while (!avReceive.isDone())
    Thread.sleep(1000);
    } catch (Exception e) {}
    System.err.println("Exiting AVReceive2");
    static void prUsage() {
    System.err.println("Usage: AVReceive2 <session> <session> ...");
    System.err.println(" <session>: <address>/<port>/<ttl>");
    //System.exit(0);
    }// end of AVReceive2
    so here the code. all messed up. coz i have just completed it and havent worked on interface or formatting this code properly (didnt have much time). but hope it will help. ask me if u have any questions. dont want others to have those basic problems that i had to face.

    u did a good effort for the JMF beginners i appreciate that....thanks i lot....i need you help in a project in
    which i have to connect to a d-link 950G IP camera and process that
    mpeg-4 stream (i know there are some problems in JMF and mpeg4) and show it over applet of JFrame.
    IP is 172.25.35.22
    Edited by: alchemist on Jul 16, 2008 6:09 AM

  • Add Image Sequence default frame rate

    Compresssor 3.5 appears to default to 24 fps when adding image sequences to the batch.
    Is it possible to change this default to 23.98 fps in a plist somewhere? I deal almost exclusively in 23.98 material so having to change this for EVERY image sequence I process is a pain.
    -Matt

    I'll try to re-formulate (I'm sorry, english is not my native language).
    What I do in Compressor:
    1) I import my image sequence
    2) set it at 25fps in the image sequence settings
    3) choose prores 25fps export (I created a prores preset at 25fps, as you suggested)
    And the resulting clip is okay.
    BUT
    I have many image sequences and it's too slow to manually interpret every one of them at 25fps. The problem is in point 2). Because there's no way to interpret all the image sequences at 25fps with just one click for all.
    I think it's the same with quicktime: you have to import every single image sequence, select the frame rate, export... one at a time.
    I will have a look at mpeg streamclip.
    thanks for answers

  • How can I change to a higher frame rate than 12 FPS?

    Just got a good deal on a 15 in MACBOOK Pro running Yosemite with the latest Quicktime and iMovie. Is the best frame rate I can get out of this HD camera 12fps? I can't find anywhere to change it in QT or in IMovie.
    MacBook Pro with Retina display, OS X Yosemite (10.10.2)

    studiojl wrote:...So as I understand it the camera will decide on FPS based off available light? ...
    So you seem to correctly understand the information in the linked Use More Light! article.
    studiojl wrote:... I don't like that at all...
    Your emotion is irrelevant.  It simply works the way Apple software is written.  Perhaps some other computer system works different from Mac OS X and Apple camera apps?
    If you intend to keep using Mac, you can take manual control of some camera parameters by using a third party add-on app such as iGlasses, Webcam Settings, or Sight Control.
    studiojl wrote: ... what frame rate does it pick if I import one 30 FPS clip and one 60 FPS clip?
    Whatever frame rate is set by the program of the software application you are using to record those clips.
    You can determine that frame rate by making short test videos and watching it in QT Player.
    The QT "Inspector" window will show you the frame rate for the clip.
    Here's an example for a clip made in my low-light room:
    Message was edited by: EZ Jim
    Mac OSX 10.10.2

  • How can I do to acquire and save date in the same time and in the same file when I run continual my VI without interrupti​on.

    I've attached a VI that I am using to acquire amplitude from Spectrum analyzerse. I tried to connect amplitude ouput to the VI Write Characters To File.vi and Write to Spreadsheet File.vi. Unfortunately when I run continual this VI without interruption, labview ask me many time to enter a new file name to save a new value.
    So, How can I do to aquire and save date in the same time and in the same file when I run continual my VI for example during 10 min.
    Thank you in advance.
    Regards,
    Attachments:
    HP8563E_Query_Amplitude.vi ‏37 KB

    Hi,
    Your VI does work perfectly. Unfortunately this not what I want to do. I've made error in my last comment. I am so sorry for this.
    So I explain to you again what I want to do exactly. I want to acquire amplitude along road by my vehicle. I want to use wheel signal coming from vehicle to measure distance along road. Then I acquire 1 amplitude each 60 inches from spectrum analyzer.
    I acquire from PC parallel port a coded wheel signal coming from vehicle (each period of the signal corresponds to 12 Inches). Figure attached shows the numeric signal coming from vehicle, and the corresponding values “120” and “88” that I can read from In Port vi.
    So I want to acquire 1 time amplitude from spectrum analyser each 5
    period of the signal that I am acquiring from parallel port.
    So fist I have to find how can I count the number of period from reading the values “120” and “88” that I am acquiring from In Port (I don’t know the way to count a number of period from reading values “120” and “88”).
    Here is a new algorithm.
    1) i=0 (counter: number of period)
    2) I read value from In Port
    3) If I acquire a period
    i= i+1 (another period)
    4) If i is multiple of 5 (If I read 5 period)
    acquire 1 time amplitude and write to the same
    file this amplitude and the corresponding distance
    Distance = 12*i). Remember each period of signal
    Corresponds to 12 Inches).i has to take these
    values: 5,10,15,20,25,35,40,45,50,55,60............
    5) Back to 2 if not stop.
    Thank you very much for helping me.
    Regards,
    Attachments:
    Acquire_Amplitude_00.vi ‏59 KB
    Figure_Algorithm.doc ‏26 KB

  • How to sync NTSC and PAL clips to same frame rate for multicam edit

    Hi there,
    First time poster so sorry for the newbie question. I'm trying to get 2 standard NTSC clips and 1 standard PAL clip about a hour long each which shot the same event at the same time, to sync up so that I can go to multi-cam and edit them like a movie sequence. I tried that, but they start unsyncing about 10 minutes in. I gather it's because of the different frame rates. I tried using "interpret footage" and changed the PAL 25fps to 29.97fps and everything got sped up. I tried rendering the PAL clip as an NTSC clip but it ended up looking a bit fuzzier. As I want to end up with an NTSC clip in the end, how can I make these clips sync up properly?
    Any, tips to help this newbie greatly appreciated with many thanks.

    Hi Jonathan,
    It's not always so easy to do NTSC <-> PAL conversions, and it's impossible to do them in Premiere while maintaining any degree of quality.
    You can do a good job of this with AviSynth (freeware) but the learning curve may be a bit steep for a newbie. I also hear that ProCoder ($500+) does a good job of this but I've never tried it.
    As for the sync, you can chop up your PAL clip within the muticam sequence (leaving some "holes") and match up particular points manually. You'll obviously have to edit around the holes.

  • Get and save image from camera

    Hi I need to grab an image from a camera and save it in a known format (such as TIF).  What is the best way to do this in LabView.  We are using an EDT camera via a PCI DV C-Link http://www.edt.com/pcidv_cl.html.  Appreciate any help/ guidance.

    EDT says:
    Do you have Labview drivers? Matlab? IDL? Others?
    Not
    directly. Our API is designed to allow programmers to build
    functionality into their applications, and all hooks are available to
    make EDT API subroutine calls from drivers for third party packages,
    but we do not provide the drivers ourselves. Some drivers are available
    from other providers; see our Partners page.
    So you will need to use the Call Library Function Node to integrate their Drivers DLL into your LV. How to save the images then in a standart format depends on the data format you get from their driver.
    Using an NI Framegrabber would be easier
    Christian 

  • Read HTML tags and Save Images in web page

    I had problem with reading HTML tags and save all images in that page. I can source code in web page but I dont know how to Identifly the image tag ( IMG tag ). I think i want to use string tokenizer class.
    But i dont know how to use it in my problem. If any one know how to do it. reply this.

    cnapagoda wrote:
    I had problem with reading HTML tags and save all images in that page. I can source code in web page but I dont know how to Identifly the image tag ( IMG tag ). I think i want to use string tokenizer class.
    But i dont know how to use it in my problem. If any one know how to do it. reply this.If you have a big, long string with HTML content in it you might try splitting on a regex like so:
    String html = ...
    String[] imgTags = html.split("<img.*?>");[http://java.sun.com/javase/6/docs/api/java/lang/String.html#split(java.lang.String)|http://java.sun.com/javase/6/docs/api/java/lang/String.html#split(java.lang.String)]
    to get your image tag data and then parsing that to get the src attribute. You can either treat this problem as a big string-parsing problem, or getting some HTML DOM library and using that to structure the page as a tree for easier access.
    If you want more help you'll have to show the code you have so far. We can't write this for you.

  • Convert image file names to labels and resizing images according to frame. Possible??

    Hi all,
    I have posted this question hastily in the main mac forum but then i realized it is a scripting question so I repost here.
    Q1: I have a client with 700+ images who has named the images with numbers and the caption:
    eg: 1.II.34. Walking down the road towards the building.tiff
    This is the name of the image file itself
    Is there a way to import the name of the file (possibly without the extension) and place it as a caption under the image without copying and pasting? A script maybe?
    I tried the labelgraphics script. Unfortunately it returned the extension as well. I was given a solution but did not work for me since it deleted everything after the first dot on the name. This was:
    in labelgraphics on line 105, change
    myLabel = myLink.name
    to
    myLabel = myLink.name.split('.')[0]
    So how can we tackle this so it deletes everything after the LAST dot?
    Q2: The image files I am given are all huge tiff files. I use the full 100% of the images but in my document they have to be much smaller . They are usually scaled down to 25-35% of the original file. So I end up with huge, unneeded documents.
    Is there a script that would work together with photoshop maybe?
    It would need to read the frames dimensions the image is in, open the linked file inside photoshop, resize it with a specified interpolation to maybe 110% of the frame's dimensions, set the resolution (if not set) to 300 dpi save the image as a copy (or with a suffix or prefix), leave photoshop open (for the next image to be processed), relink to the new image and go to the next image
    I know it sounds a lot but I was amazed by the issues people handle in this forum and thought I would give it a try
    Thank you in advance
    Michael

    Peter thank you so much. It works like a charm.
    As for Q2, I spent some time doing research and came up with a couple of scripts that sound like they could do the trick.
    a) Image Transform or Rasterize
    http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&loc=en_us&extid=1509 022#
    b) Resample Project Images to 100%
    http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&loc=en_us&extid=1612 518#
    Still, since I am such an ignorant I do not know which one would be the proper one.
    Any suggestions would be highly appreciated.
    Thank you once more
    Michael

Maybe you are looking for

  • When downloading a file, only the first word of the attached file is included in the 'file name' field, not the entire file name, as it used to.

    Regardless of filetype, only the first word of the file is filled into the "Enter name of file to save to..." dialog box. I'm set up to 'save file' in the FF Options > Applications tab for the basic MS and Adobe files. To successfully use/find the do

  • Bank Incoming clearing Account

    Hi, In bank determination we maintain Bank Subaccount as bank outgoing clearing account. Where to maintain Bank incoming Clearing Account? Best Regards

  • Sigil, error and bug reporting

    I finally got around to updating my desktop to Arch, I have been running my file and print servers with Arch and without problems for over a year. So far everything has gone pretty well, a few problems, mainly caused by me misstyping something, all p

  • Cross Company Posting

    I have two sales area 1000+10+10 2000+10+10 one document type ZOR 1000 sales organization is assign to co. code 1000 2000 sales organization is assign to co. code 2000 Is it possible if I am using any unique document type lets say ZOR for sales area

  • IPod Plugged in, Not doing anything

    Hello all, Well, about three days ago, i woke up like usual, and got my ipod off the stand like normal to turn it on, to listen to some music, well, nothing happend, blank screen, so, i hit menu and center butten, and i could feel the hard drive kick