Generador Onda Arbitraria

Buenos días!
Me pongo n contacto con ustedes porque estoy realizando un generador de ondas para Labview y ahora mismo estoy atascado. He realizado la parte de generación de ondas predefinidas, pero ahora me gustaría hacer un módulo de onda arbitraria, es decir, que nosotros le demos los valores y muestre por pantalla la onda que nosotros hemos definido.
La idea es que esta señal se repita y se pueda ver en un osciloscopio físico.
Y más o menos tengo el concepto, pero no se como implementarlo en Labview
Si me pudierais echar una mano. Muchas gracias

Se que existe un bloque que se llama "Simulate arbitrary signal" pero para introducir los datos de la señal arbitraria hay que meterse en el diagrama de bloques e iniviar este VI desde allí.
¿Habría alguna forma de que se pudieran introducir los datos de la señal desde el panel frontal?
Muchas gracias

Similar Messages

  • Arbitrary waveform generation from large text file

    Hello,
    I'm trying to use a PXI 6733 card hooked up to a BNC 2110 in a PXI 1031-DC chassis to output arbitrary waveforms at a sample rate of 100kS/s.  The types of waveforms I want to generate are generally going to be sine waves of frequencies less than 10 kHz, but they need to be very high quality signals, hence the high sample rate.  Eventually, we would like to go up to as high as 200 kS/s, but for right now we just want to get it to work at the lower rate. 
    Someone in the department has already created for me large text files > 1GB  with (9) columns of numbers representing the output voltages for the channels(there will be 6 channels outputting sine waves, 3 other channels with a periodic DC voltage.   The reason for the large file is that we want a continuous signal for around 30 minutes to allow for equipment testing and configuration while the signals are being generated. 
    I'm supposed to use this file to generate the output voltages on the 6733 card, but I keep getting numerous errors and I've been unable to get something that works. The code, as written, currently generates an error code 200290 immediately after the buffered data is output from the card.  Nothing ever seems to get enqued or dequed, and although I've read the Labview help on buffers, I'm still very confused about their operation so I'm not even sure if the buffer is working properly.  I was hoping some of you could look at my code, and give me some suggestions(or sample code too!) for the best way to achieve this goal.
    Thanks a lot,
    Chris(new Labview user)

    Chris:
    For context, I've pasted in the "explain error" output from LabVIEW to refer to while we work on this. More after the code...
    Error -200290 occurred at an unidentified location
    Possible reason(s):
    The generation has stopped to prevent the regeneration of old samples. Your application was unable to write samples to the background buffer fast enough to prevent old samples from being regenerated.
    To avoid this error, you can do any of the following:
    1. Increase the size of the background buffer by configuring the buffer.
    2. Increase the number of samples you write each time you invoke a write operation.
    3. Write samples more often.
    4. Reduce the sample rate.
    5. Change the data transfer mechanism from interrupts to DMA if your device supports DMA.
    6. Reduce the number of applications your computer is executing concurrently.
    In addition, if you do not need to write every sample that is generated, you can configure the regeneration mode to allow regeneration, and then use the Position and Offset attributes to write the desired samples.
    By default, the analog output on the device does what is called regeneration. Basically, if we're outputting a repeating waveform, we can simply fill the buffer once and the DAQ device will reuse the samples, reducing load on the system. What appears to be happening is that the VI can't read samples out from the file fast enough to keep up with the DAQ card. The DAQ card is set to NOT allow regeneration, so once it empties the buffer, it stops the task since there aren't any new samples available yet.
    If we go through the options, we have a few things we can try:
    1. Increase background buffer size.
    I don't think this is the best option. Our issue is with filling the buffer, and this requires more advanced configuration.
    2. Increase the number of samples written.
    This may be a better option. If we increase how many samples we commit to the buffer, we can increase the minimum time between writes in the consumer loop.
    3. Write samples more often.
    This probably isn't as feasible. If anything, you should probably have a short "Wait" function in the consumer loop where the DAQmx write is occurring, just to regulate loop timing and give the CPU some breathing space.
    4. Reduce the sample rate.
    Definitely not a feasible option for your application, so we'll just skip that one.
    5. Use DMA instead of interrupts.
    I'm 99.99999999% sure you're already using DMA, so we'll skip this one also.
    6. Reduce the number of concurrent apps on the PC.
    This is to make sure that the CPU time required to maintain good loop rates isn't being taken by, say, an antivirus scanner or something. Generally, if you don't have anything major running other than LabVIEW, you should be fine.
    I think our best bet is to increase the "Samples to Write" quantity (to increase the minimum loop period), and possibly to delay the DAQmx Start Task and consumer loop until the producer loop has had a chance to build the queue up a little. That should reduce the chance that the DAQmx task will empty the system buffer and ensure that we can prime the queue with a large quantity of samples. The consumer loop will wait for elements to become available in the queue, so I have a feeling that the file read may be what is slowing the program down. Once the queue empties, we'll see the DAQmx error surface again. The only real solution is to load the file to memory farther ahead of time.
    Hope that helps!
    Caleb Harris
    National Instruments | Mechanical Engineer | http://www.ni.com/support

  • How do I move 'Clear history' back to Tools? Menu editor can't seem to do it. Why are you always making arbitrary GUI changes?

    I want to move the "Clear (Private Data)" menu item back to the tools menu. Menu Editor's dev didn't anticipate this so my usual option for shuffling menu commands around won't work.
    * I know there is a keyboard shortcut to open it.
    * I know it has been moved to the History menu.
    * This is not a question about finding or using the feature, it is about GUI customization.
    Semi-unrelated rant:
    Every time there's a new version of FF I dread installing it because you always make these arbitrary changes. Hiding menus, moving tabs, moving the home button, merging the stop/refresh button, hiding the taskbar, making everything except the domain name in the URL bar too dim to read, defaulting to that silly half-assed speed dial thing as a default home page, merging the title and tab bars, adding jerky acceleration to mouse scrolling, removing the ability to set a time limit for history/cache expiration, treating flash objects the same as cookies, disabling the awesome dialog asking to save your tabs if you close with more than one open, hiding granular javascript/DOM permissions(these now require individual about:config edits.) This is just an off-the-top-of-my-head list of the "upgrades" that I have had to fix over the past couple of years. I was a Netscape user most of my life, and have been a Firefox user ever since. One big reason I still use FF is the fantastic customization; I've been able to fix all of these things to my liking but in any other browser you simply wouldn't be able to change any of them.
    But come on, seriously, stop it. If I wanted to use Chrome I would go install Chrome.

    Hi onetimeuse001,
    Thank you for contacting Mozilla Support and for your feedback. I will certainly recommend opening a Feature Request to have the process for customization reviewed in Bugzilla.
    For alternatives to moving the clear data
    *This customized menu add on might do the trick [https://addons.mozilla.org/en-US/firefox/addon/menu-editor/ Menu Editor]
    *Clear Recent history button on the toolbar I have been using is nice, but might not be what you would like. [[https://addons.mozilla.org/en-US/firefox/addon/clear-recent-history/ ]]
    Also for the next update, so that no data is lost it is possible to preserve the user preferences with the files from the User Profile Folder.
    * C:\Users\<user>\AppData\Roaming\Mozilla\Firefox\Profiles\<profile>\
    cor-el, an awesome contributor always recommends these links:
    *[[http://kb.mozillazine.org/Profile_Manager]]
    *[[https://support.mozilla.org/kb/Managing+profiles ]]
    *[[ http://kb.mozillazine.org/Recovering_a_missing_profile ]]
    Please feel free to ask anymore questions. We are happy to help.

  • Executing a jar file from an arbitrary folder

    I got a small problem in detemining the path of my application's jar file. I am starting the application by executing a batch, lets say MyApp.bat (using it on windows and unix), this batch file consists of one line 'java -jar MyApp.jar', MyApp.jar being in the same folder.
    Now lets say MyApp.bat and MyApp.jar are in folder 'A' and my current working directory is a parallel folder 'B', so I can invoke the batch file from there(!) by executing '../A/MyApp.bat'. But now the VM tries to find MyApp in the current working directory which is still 'B' and not 'A'. A simple solution would be to use a script which determines the directory of MyApp.jar and include the generated path in the call to the VM (I didn't try yet, but I guess this will awkward doing it on windows)
    Since I don't think I am the first person executing a java program via a script from an arbitrary folder in a file system, I hoped that there might be a more elegant way. Unfortunately I couldn't find another solution yet.
    Regards,
    Stefan

    In MyApp.bat your line should read (NT/2K/XP/2003/Vista):java -jar "%~dp0MyApp.jar"Regards

  • How to fetch and display arbitrary log files from a managed host?

    We are creating a small management portal for a custom application and need a way to display, in a browser, the contents of an arbitrary log file located on an EM managed host. The effect we are looking for is similar to what you get when you show the contents of a database alert log using EM.
    I want to extend the EM agent to get the log and display the contents, but see two problems: (1) it seems like we would have to schedule the fetch of the log contents to happen on a regular basis and would not be able to do it on demand and (2) storing the results in the EM repository seems like it could consume a pile of storage, even if it only stores the logs for 24 hours.
    I am pretty sure we can bypass the repository somehow because I think the "show database alert log" EM process does so. Of course, I can't really be sure how this code is getting the alert log, but it seems reasonable to assume it is using the management agent.
    Is there some API for the EM Agent that I am missing?
    Any ideas would be appreciated.

    From within OEM it doesnt look possible. User defined metrics (UDM) can only return number or a string. The alertlog fetch is done via alertlogViewer.pl while being passed a couple of parameters.
    OEM does have a preliminary/rough api available at http://www.oracle.com/technology/products/oem/emx/index.html but I havent seen anyone make use of it yet.
    If you use just a web connection then you will probably run into security issues as a web server can usually only view/access stuff under their htmldoc dir.
    Seems like some non-OEM very custom code is what you seek..

  • Arbitrary email addresses in send and reply fields

    I have been trying to figure this out for a while, so apologies if it seems obvious. I have a domain foo.com and use many different addresses [email protected], [email protected], etc to distinguish mail from different senders. For example, if I set up an account at amazon I give an email address of [email protected] to allow simple spam filtering and categorization. Then I open a gate in mac mail by adding a rule saying allow mail to "[email protected]". All these addresses (and there are MANY of them) are directed through a single account by my host service. Though the "to" field distinguishes them, the account they come in under is associated with an official email address of "[email protected]".
    Sometimes I need to send an email from one of these addresses. In particular, certain sites require an email+reply confirmation process which demands that the reply come from the [email protected] address. Often the original is sent via a web form, so mac mail plays no role. In mac mail, I can set the default to reply from a fixed address (from the list of official account email addresses) or from the official address of the "account" I last looked at, etc. I can also select from a pull down list of the official account email addresses. However, without adding a bzillion email addresses to the list by hand (and selecting or changing the prefs each time), I can't seem to simply modify the reply-from address or the sent-from address to be arbitrary. I want to do 1 of 2 things:
    1. Easily and directly edit the sent from or reply from field of a single email without changing any default settings or going into a preferences pane.
    or 2. Set a default of "reply-from" the address to which the email was addressed (rather than the account).
    I imagine the 2nd is problematic because there is no way to identify the address which is "me" in the recipient line if it is not known (like the "official" account address). I know how to do the 1st with sendmail, but that kind of defeats the purpose of using mac mail for integration.
    Does anyone know how to do this?
    Thanks in advance for your help.
    Cheers,
    Ken

    Thanks for the reply, but that doesn't quite help. I don't want to have to go into preferences and add a new address each time I reply. There are over 100 of these addresses and most get used infrequently. I want to simply edit a field in the email directly. The drop down menu solution doesn't work with a large and constantly growing set of addresses. Imagine you have [email protected] through [email protected] on your domain bar.com. If you get an email addressed to [email protected] you wouldn't want to have to go into preferences and add that to the allowed list before being able to reply. I want to simply reply as [email protected] There are legitimate reasons to set stuff up like this. I just want to be able to edit the "from" field in an email message the same way I can edit the "to" field. It would be equally frustrating if I had to go into preferences to add a recipient's email address every time I wanted to send one out.

  • Calendar app in iOS can't set complex recurring events or arbitrary alert time.

    Dear Administrator,
    I find the Calendar app in iOS very limiting.  It should not be difficult for Apple to include features that allows arbitrary alert time (45min before the event) or complex recurring events (repeat every 4 months on the first Thursday of the month).  Do I miss something or Apple did not include these features in the system software.  It is really inconvenient.  Please help. 
    Sincerely yours,
    Zigang Pan

    The built-in calendar app does not support complex recurrances.  If you want to do that, you'll need to use a different calendar app, such as Fantistical 2 or Week Calendar.

  • Generating an XML representation of arbitrary Java objects

    Hi. Just for fun, I'm attempting to write some code which creates an XML representation of an arbitrary java object using reflection. The idea is that only properties with get/set methods should come through in the XML.
    Here is the code:
    package com.uhg.aarp.compas.persistence.common.xml;
    import java.io.IOException;
    import java.lang.reflect.InvocationTargetException;
    import java.lang.reflect.Method;
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.FactoryConfigurationError;
    import javax.xml.parsers.ParserConfigurationException;
    import org.xml.sax.SAXException;
    import org.xml.sax.SAXParseException;
    import org.w3c.dom.Document;
    import org.w3c.dom.DOMException;
    import org.w3c.dom.Node;
    import java.util.Stack;
    public class XMLDAO {
         public static String getXMLWithHeader(Object obj){
              return "<?xml version=\"0\"?>" + getXML(obj);
          * Returns an XML representation of an arbitrary object
         public static String getXML(Object obj){
              StringBuffer buffer = new StringBuffer();
              AccessorMethod[] accessorMethods = getAccessorMethods(obj);
              buffer.append("<" + obj.getClass().getName() + ">\n");
              //List
              if(obj instanceof List){
                   List objList = (List)obj;
                   Iterator iterator = objList.iterator();
                   while(iterator.hasNext()){                              
                        buffer.append(getXML(iterator.next()));
              else{
                   for(int i = 0; i < accessorMethods.length; i++){
                        Object fieldObj = null;
                        try{
                             fieldObj = accessorMethods.invoke();
                             1. Primitive Wrapper or String(base case)
                             if(fieldObj instanceof Integer || fieldObj instanceof Float || fieldObj instanceof Double
                                  || fieldObj instanceof Long || fieldObj instanceof String){
                                  buffer.append("<" + accessorMethods[i].getAccessorFieldName() + ">");
                                  buffer.append(accessorMethods[i].invoke());
                                  buffer.append("</" + accessorMethods[i].getAccessorFieldName() + ">\n");
                             else if(fieldObj instanceof Object[]){
                                  buffer.append("<" + accessorMethods[i].getAccessorFieldName() + ">\n");
                                  Object[] fieldArray = (Object[])fieldObj;
                                  for(int j = 0; j < fieldArray.length; j++)
                                       buffer.append(getXML(fieldArray[i]));
                                  buffer.append("</" + accessorMethods[i].getAccessorFieldName() + ">\n");
                        }catch(Exception e){
                             System.out.println("Couldn't invoke method: " + accessorMethods[i].getName());
              buffer.append("</" + obj.getClass().getName() + ">\n");
              return buffer.toString();
         * Returns the Object representation for the XML - used to rebuild Java objects
         * converted to XML by XMLDAO.getXML().
         public static Object getObject(String xmlString) throws ParserConfigurationException,
              SAXException, IOException{
              //the root element is the class name
              DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
              DocumentBuilder builder = factory.newDocumentBuilder();
              Document document = builder.parse(xmlString);
              Stack objectStack = new Stack();
              return getObject(document);
         private static Object getObject(Node n){
              //every document is either an object or a bean property
              //all bean properties have values
              //no object has a value, it can only have bean properties
              //the base case occurs when the document has a value
              String nodeName = n.getNodeName();
              if(n.getNodeValue() == null){
                   System.out.println("node " + nodeName + " is an object");
              else{
                   System.out.println("node " + nodeName + " is a bean property");
              return null;
         * Returns all of the "getter" methods for the given object
         private static AccessorMethod[] getAccessorMethods(Object obj){
              Class theClass = obj.getClass();
              Method[] objMethods = theClass.getMethods();
              ArrayList methodList = new ArrayList();
              for(int i = 0; i < objMethods.length; i++){
                   try{
                        methodList.add(new AccessorMethod(obj, objMethods[i]));
                   }catch(IllegalArgumentException e){}
              return (AccessorMethod[])methodList.toArray(new AccessorMethod[methodList.size()]);
         * Invokes the specified "getter" method and returns the result as an Object
         private Object invokeAccessorMethod(Object obj, Method m) throws IllegalAccessException,
              InvocationTargetException{
              return m.invoke(obj, null);
    package com.uhg.aarp.compas.persistence.common.xml;
    import java.lang.reflect.InvocationTargetException;
    import java.lang.reflect.Method;
    * Represents an AccessorMethod (i.e. getField()) on an Object
    public class AccessorMethod{
         private Object obj;
         private Method m;
         private String accessorFieldName;
         * Constructor for AccessorMethod
         public AccessorMethod(Object obj, Method m) throws IllegalArgumentException{
              1. Method name starts with get
              2. Method name does not equal get
              3. Method takes no arguments
              4. Method return type is not void
              String methodName = m.getName();
              if(methodName.indexOf("get") != 0 || methodName.length() == 3 &&
                   m.getParameterTypes().length != 0 && m.getReturnType() != null){
                   throw new IllegalArgumentException("Not a valid getter method " + methodName);
              this.obj = obj;
              this.m = m;
              String tempName = m.getName().substring(3, m.getName().length());
              this.accessorFieldName = Character.toLowerCase(tempName.charAt(0)) + tempName.substring(1, tempName.length());
         public Object invoke() throws IllegalAccessException, InvocationTargetException{
              return m.invoke(obj, null);
         * Gets the m
         * @return Returns a Method
         public Method getM() {
              return m;
         * Sets the m
         * @param m The m to set
         public void setM(Method m) {
              this.m = m;
         * Gets the accessorFieldName
         * @return Returns a String
         public String getAccessorFieldName() {
              return accessorFieldName;
         * Sets the accessorFieldName
         * @param accessorFieldName The accessorFieldName to set
         public void setAccessorFieldName(String accessorFieldName) {
              this.accessorFieldName = accessorFieldName;
         * Gets the obj
         * @return Returns a Object
         public Object getObj() {
              return obj;
         * Sets the obj
         * @param obj The obj to set
         public void setObj(Object obj) {
              this.obj = obj;
         public String getName(){
              return this.m.getName();
    I'm having some trouble figuring out how to implement the XMLDAO.getObject(Node n) method. I was thinking of maintaining a Stack of the previous Objects as I traverse the DOM, but I think that might be unnecessary work. Basically I'm wondering how I determine what the last "object" is in the DOM from any given node. Anyone have any input?

    I think the end of my post got cut off:
    I'm having some trouble figuring out how to implement the XMLDAO.getObject(Node n) method. I was thinking of maintaining a Stack of the previous Objects as I traverse the DOM, but I think that might be unnecessary work. Basically I'm wondering how I determine what the last "object" is in the DOM from any given node. Anyone have any input?

  • Anyone ever see this error when calling a dll? "Arbitrary​.dll?"

    Hey folks, I'm attaching a jpg of the error I get as soon as I try and load a vi whose subVIs call a "Call Library Function".
    Double clicking on the call function I can verify that the 'Library name or path" is correct, and the Function name is what I want.
    I do not understand why it is telling me I need "Arbitrary.dll" - the name of the lib is adwgc.dll as indicated in the path (that I verified).
    Anyone deal with this error before?  I'm pretty clueless at the moment, any help will be appreciatized and surely kudo'd!
    thanks
    -pat
    edit- also, I'm using LV 2011
    Solved!
    Go to Solution.
    Attachments:
    error.jpg ‏18 KB

    You get this error because adwgc.dll is internally loading Arbitrary.dll because whoever wrote adwgc.dll called some function in Arbitrary.dll. The only to fix this is to get Arbitrary.dll and put it in a folder that adwgc.dll can load it from. Putting it in the same folder as adwgc.dll should work.
    Where did you get adwgc.dll from and are you sure they didn't supply Arbitrary.dll as well?

  • Is this possible to access arbitrary frame and to modify the mask?..

    Sorry for a bit messy discussion title. Please, let me explain.
    I have some experience in implementing video processing algorithms, but as our own software and never under AE. Now there is an idea to implement something for AE and first of all, I'm curious, if this is possible at all.
    1) When processing the n-th frame, I need the full access to the data of (n-k)-th and (n+k)-th. Is this possible to do in general case? Or the only variant is to implement frames buffering during the first pass?
    2) Our algorithm uses the mask as one of the inputs. But in contrary to the usual case, mask does not define an area of interest. In any case the full frame is processed, but the processing differs for different regions, depending on mask. In our software, it works like this: user defines a mask (and some parameters). Then effect is slightly modifying (let say – refining) the mask during the render and renders final images. After this user can modify the mask somehow again if he/she is not satisfied with what algorithm has done. Can I produce the same workflow in AE? The only way is using a drawbot (this means CS 5.5 and higher)? And what if I want masks to be raster images?
    The second question in the framework of this one is how to do two video inputs for an effect (first – the video to be processed and second – the mask (grayscale sequence in general case))?
    The possible workflow is that user provides trivial mask – lets say, the black solid. But even during the first pass effect should produce the mask, according to its sight to the video – so, it should somehow substitute the black solid with the sequence on black'n'white images. Is this all possible in AE?
    3) Is this possible (should be, I guess) to implement multipass algorithms? How the preview works then, if I need, for example, to pass all the video length 3-4 times, to produce the final render?
    I can expect that all this is solvable in AE, but may be experienced users could be so kind to give me some basic recommendation on how to do this. Looking through the PDF, which accompanies the SDK has not allowed to come to a distinct answer for the question: is this possible or not. So, I rely on your consultation.

    hi Theofil Mulony, welcome to the forum!
    in short, yes, what you want to do is possible, but some parts may be tricky.
    and now the long version:
    1) When processing the n-th frame, I need the full access to the data of (n-k)-th and (n+k)-th. Is this possible to do in general case? Or the only variant is to implement frames buffering during the first pass?
    you can access the pixel data of any layer at times other than the currently processed time. this concept of getting that data is referred to as "layer checkout" in the AE SDK, and "wide time" is the name of getting pixel data at times other than the current.
    the following thread discusses the difference between two methods of getting such data:
    http://forums.adobe.com/message/4033930#4033930
    you can also look at the "checkout" sample project to see how both concepts are implemented.
    2) Our algorithm uses the mask as one of the inputs. But in contrary to the usual case, mask does not define an area of interest. In any case the full frame is processed, but the processing differs for different regions, depending on mask. In our software, it works like this: user defines a mask (and some parameters). Then effect is slightly modifying (let say – refining) the mask during the render and renders final images. After this user can modify the mask somehow again if he/she is not satisfied with what algorithm has done. Can I produce the same workflow in AE?
    masks in AE generate a matte by default. the user can turn that mask off, so that the shape remains, but the mask does not... mask. (you can also set the mask mode to "none" via API commands).
    you can then read the "off" mask attributes and either render using an API command (see "pathmaster" sample to see how), or write your own algorithm if the API constraints on that operation are a problem for you. (and there are a few constraints on rendering masks in the API)
    now. when you say "modifying the mask" do you mean you modify it's generated matte, or do you mean change it's defining vector?
    both are possible, but completely different.
    if you turned the mask off, and rendered it's alpha yourself, then you can modify that alpha as you wish.
    if you want to use AE's generated matte of the mask and change the mask's outline shape, then you need to look into "streams" and the "mask outline suite".
    the user can modify a mask's shape as he/she pleases, unless you lock that mask or otherwise sabotage the user's operation.
    The only way is using a drawbot (this means CS 5.5 and higher)?
    drawbot is the API for drawing over AE's interface in CS5 and up.
    it's only a drawing tool. previous versions used OS drawing tools. that's all the difference.
    what i think you're asking is weather you need to create the mask drawing/handling capabilities or not.
    the answer is: you can, but you don't have to.
    unless you need control over the mask drawing that AE's existing masks don't have, i would have used AE's masks and not create a brand new mechanism (that the user need to learn as well).
    if you insist at creating a custom UI for drawing masks, the "CCU" sample project would be a good place to start the research.
    (just don't come crying to me when you get a splitting head ache)
    And what if I want masks to be raster images?
    The second question in the framework of this one is how to do two video inputs for an effect (first – the video to be processed and second – the mask (grayscale sequence in general case))?
    The possible workflow is that user provides trivial mask – lets say, the black solid. But even during the first pass effect should produce the mask, according to its sight to the video – so, it should somehow substitute the black solid with the sequence on black'n'white images. Is this all possible in AE?
    by default, "effect" plugins (as opposed to AEGPs) get only one input - the image of the layer, post masks and previous effects (but before transformations).
    you can put as many "layer param"s in your effect and let the user select any number of other layers, which you can the "checkout" and use as second inputs.
    you can also checkout other layers without the user selecting them manually.
    however, checked out layer results are pre-masks and effects. so if the user draws a mask over a black solid, you will not be able to read the "post mask" image unless the user pre-composes the layer with the mask inside the pre-comp. it's a common practice for users to do so, as many effects rely on a second input, and that's the only way to make the input pos-masks and effects. (so it's no biggie from the user's point of view)
    in the same manner, you can read any layer's image and use it as a mask.
    you get the image buffer, so it's up to you to decide whether to use the alpha channel of that image or the rgb (or any other method you see fit).
    3) Is this possible (should be, I guess) to implement multipass algorithms? How the preview works then, if I need, for example, to pass all the video length 3-4 times, to produce the final render?
    AE doesn't do multi pass rendering.
    it actually can render arbitrary frames, in no particular order.
    but as you already saw, you can access the image data from any time - of any time, so you can emulate passes.
    if you need to fly through the whole sequence for every frame, that would of course be very time consuming and wasteful.
    in such a case, you can try to do these passes only once, when effect is implemented, and cache the results.
    look up "sequence data", to see how to manage memory specific to a single instance fo you effect.
    but i must say that if you have to do full length scans of the footage, a couple of times over, and cache EVERYTHING, then you're in a bit of a problem in AE.
    it's just not set up for such rendering logic.
    not impossible, but highly inefficient in the AE rendering pipeline.
    there is a lot more to al of the above, but i hope this gave you a clearer picture of how things are in AE.

  • Using the advanced analysis package in 6i, How can I fit an arbitrary function to a set of measured x and y values? (simular to genfit on mathcad)

    I am attempting to automate a mathcad program which takes a set of measured values (x=step#, y=intensity)and fits an arbitrary function to the data.

    Use the Levenberg Marquardt.vi in the curve fitting palette. You can find examples on the zone.ni.com website. It allows you to specify an arbitrary formula to curve fit your data with.

  • ClearScan - buggy OCR - arbitrary spaces in words

    I've got 400 pages from a document, scanned @ 600 dpi color.With Acrobat 9 I converted them to 1 PDF, internally all pages stored as JPG2000, high quality. File size ~ 350 MB.
    If I do OCR on this file (Acrobat 9 or 10) without ClearScan, everything is ok.
    If I do OCR on this file (Acrobat 9 or 10) with ClearScan, the text looks perfect. But: If I copy and paste text (to the Windows Editor), most words contain spaces, I get "Abcd ef g hijklmnop" instead of "Abcdefghijklmnop". Of course, that also means, I can not find "Abcdefghijklmnop", if I try to search for it. Hence, over 90% of the OCR result is useless - because not searchable.
    Now, for test purposes I exportet 1 page (from the original 350 MB non-OCR'd PDF) to a new PDF. I did OCR on this 1-page-file (with Acrobat 9) with ClearScan, and the above problem did not appear: No arbitrary spaces, text was ok and searchable.
    Did nobody ever watch this behaviour, although it concerns both Acrobat 9 and 10 ?

    I think I found the solution to your problem. Just save the problematic OCR Clearscan document as Text (Plain). By just doing so, Acrobat Pro corrects and eliminates all the spaces between characters. Then you only need to save again the PDF document, and you will see (even if hard to believe) that it is already fixed. At least it worked very well to me!

  • Odd error originating from NI-5411 (Error code: BFFA0002) when trying to load arbitrary waveform

    Hello everyone. 
    We have some equipment (PCI NI-5411) that is misbehaving in an odd and new way. When trying to load an arbitrary waveform onto the AWG (using a library call to the "niFgen Write Binary 16 Waveform"), it produces an error. The error code is "BFFA0002", but I haven't been able to find any information that can show what this error code provides. Previously, we had some problem when the system wouldn't find the file and produces an error even though the file is there. After changing our code so the file access is attempted several times, the problem was resolved. However, that doesn't work in this case and we do not know here the problem is.
    This is a pretty much shooting wild and hoping that something falls down, but if anyone could provide me with information about the error code or another probable error source I would be highly grateful.
    Thanks in advance!
    With best regards,
    Niclas

    Hi Niclas,
    That error code suggests that a file cannot be opened. This error is defined in IVI as  IVI_ERROR_CANNOT_OPEN_FILE.I don't think we return this error code from the NI-FGEN driver.
    You mentioned that you have an issue with finding a file. Is that file specific to your application? How is it being open or used? What API do you use to open that file?
    For NI-FGEN specific error code (and generic IVI error codes), you can query the error message by calling niFgen_error_message function or niFgen Error Message.vi.
    Thanks,
    - Liusdi

  • [JS] InDesign CS3: finding page of arbitrary object?

    Is there a way to find the page which an arbitrary object is on? That is, for a TextFrame, Paragraph, Text, etc. Or at least a TextFrame?
    I can't find a reference to a page anywhere but from the document!

    This is the function I use:
      function findPage(theObj) {
        var thePage = theObj;
        if (thePage.hasOwnProperty("baseline")) {
          thePage = thePage.parentTextFrames[0];
        while (thePage.constructor.name != "Page") {
          var whatIsIt = thePage.constructor.name;
          switch (whatIsIt) {
            case "Story" :
              thePage = thePage.textFrames[-1].parent;
              break;
            case  "Character" :
              thePage = thePage.parentTextFrames[0];
              break;
            case "Cell" :
              try {
                thePage = thePage.insertionPoints[0].parentTextFrames[0];
                break;
              } catch (e) {
                // must be overset, so ignore
                return null;
            case "Application" :
              // must be off page, so ignore
              return null;
          thePage = thePage.parent;
        return thePage
    Dave

  • How do I fix the format of plot lines for an arbitrary number of sets of data plotted on the same x-y graph?

    I have written a VI to control an LCR meter and perform sweep functions. I have two x-y graphs on my front panel (one for each of 2 measured parameters). The VI is designed with a button to take a measurement, plot the data, and then wait for another event (like write data, clear plot, or measure again). The user can take simultaneous measurements and these are plotted on top of the data already there in the same x-y graphs (using an array of clusters with shift registers). There is no limit on how many sets of data can be on the x-y graph. 
    Now, my issue is in formatting the plot lines (color, thickness, marker type). I can fix the first plot line by adjusting the parameters of the x-y graph. However, I also want to control the format of all consecutive plot lines. How can I do this for an arbitrary number of lines? The main thing I want to do is to have all of them show the square marker type (the default is no marker type, just a line). 
    Thanks!

    Hi maximum23,
    You can use properties of plot to format the plot lines. You just have to select Active plot using property and then select color and line width etc..
    You can define color and width etc parameter by asking user or you can just make them default.
    Gaurav k
    CLD Certified !!!!!
    Do not forget to Mark solution and to give Kudo if problem is solved.

Maybe you are looking for

  • Satellite L300D-13S - CD/DVD drive does not close properly

    Hi, I have the L300D-13S about one week. Today and for a short while last Sunday the DVD drawer will not stay closed. I have restarted a few times and tried putting discs in but it still ejects and doesn't read the discs. I installed Norton 360 Versi

  • New tabs opening when clicking a link

    I have a MacBook Pro running OS X As of lately every time I am using safari and click on a link (i.e to get to the next page in a trademe search) a new tab opens up like a pop up. Normally it is some kind of advertisement. This just keeps happening a

  • ITunes "-54" error alert while syncing iphone

    Hi, I have recently upgraded my Itunes with latest version. when i try to sync my phone with ITunes it is showing error "-54" and cant transfer photos or music.Please help me to resolve the issue.

  • Sort by EXIF Date/Time

    Would be nice to be able to srt by EXIF Date Time Original or EXIF Date Time Digitized. The existing file based Date Time Create or Date Time Modified may not be accurate. Some of our events (like a wedding) have photographs taken from a number of ph

  • Forms in 10g environment

    Hi, Could anybody give me some guidelines concerning using Forms 10g ? ... I have a huge experience with Forms 6i ... but for the Forms 10g integration I have no idea how to do it ... I fact I wanna compile my own form in an 10g environment and after