Dominant Waveform Data

I am working on some ideas that hopefully some of you guys might be able to help me with.  I don't know Photoshop well but I think it may be what I need to use for this project.
I need to be able to analyze a photo (or a portion thereof) and get the dominant waveform data.  I have been thinking that I need to work from RGB to Waveform but I am not sure that is the way to go.  I was wondering of there is a way to calculate this info from an image in Photoshop or even extract it from the code contained within an image.
As an example, I want to take a picture and have data that says essentially there are these kinds of blues at x frequencies, these yellows at x frequencies, etc. I am not looking for mapping info at this point (though that may be helpful, too.)
It is similar to doing an FFT analysis of an audio file. In the attachment you can see an analysis of a sound that shows all the pitch content as well as the time domain. The darker lines coreespond to dominant frequencies where the lighter ones refer to secondary ones. What I need for an image is obviously different but hopefully that helps you get the idea. I need to be able to read the data in the image and convert  the color data into the fequency spectrum. This is why I wonder if calculating the domiant waveform will be helpful.
I have played around with the Wide Histogram from Reindeer Graphics but that does not give me the dominant waveform (nor can I calculate it from the data it presents me).
If anyone has any thoughts on it this would be helpful. I posted this idea elsewhere but I have been rethinking it so thought it best ti repost it with the new ideas.
Thanks.
Mark Chambers

I neither know what a FFT-analysis of an audio-file is nor have I tested Wide Histogram from Reindeer Graphics, but I suspect what You want may not be achievable in Photoshop or at least only with great difficulty.
As I understand it, the histogram refers to the quantitative distribution of the pixels’ channels’ values and can not be referenced to wavelengths at all, because it does assess channel for channel and not pixel for pixel. What this means is that for example a peak in the histogram could refer to one area where all three channels are identical, therefore neutral or some areas where one/two channel/s is/are in dominance, therefore highly saturated. (see images)
It might be possible (utilizing the icc-profile’s connection to the l*a*b-space in some way that’s beyond me) to calculate wavelength and intensity pixel by pixel, but that would necessitate some pretty fancy Scripting and might be quite time-consuming.
Maybe someone else knows better, though.

Similar Messages

  • How to generate a waveform data table for my data acquisition (GPIB)?

    Hi everyone, I'm new to labview. I have a question, how to obtain waveform data(an I/O file so I can plot it in graphic software), rather than just plot a waveform graph which is pretty easy, but I want a waveform data table, how can I do that? Thank you very much!
    Message Edited by pack2themoon on 12-12-2008 10:05 PM

    Well, I would tell you how to get the data to display on a table however then you will come to another issue.
    The issue is that once the data is in a table, you cannot select all the data at once.
    You can only select one cell at a time, I'm not sure why, guess it was an oversight of some kind.
    There are a few work arounds, and if you are still interested in this aprroach, I will share them with you. 
    Cory K

  • Waveform data not displaying correctly

    Hello,
    I am having some trouble displaying some waveform data. 
    I have a DAQCard-6036E card, and I am bringing in 16 analog signals.  The task is set up through MAX, and right now is generic.  All I am reading is random noise in an attempt to see if my VI even works.  The acquisition mode is set to continuous, with a rate of 1k, and number of samples set to 100.
    The problem is that I get very intermittent data on the front panel indicators.  Only several of the indicators work, and its choppy at best.  What am I doing wrong here?  Is it a problem with my acquisition mode?   
    Thanks,
    Alex
    Attachments:
    DAQ (CompactDAQ).vi ‏39 KB
    DAQ.vi ‏137 KB
    DAQ (Air Data Computer).vi ‏35 KB

    Hi Alex,
    I just tried the your VI with the while loops deleted out of the
    subVI's and as far as I could see the indicators in the first two
    columns of the front panel were updated as expected. The other
    indicators are not wired so they will not update.  It might look like
    some of the wired indicators are not updating each time if the value
    doesn't change - ie the potential on the line is the same as the last
    read.  You might try putting a known signal on each of your test lines
    instead of using noise to test your system to verify that the voltage
    is changing each time.
    If you are still having trouble, post again.  I've attached a copy of the VI I used for test.
    Regards,
    Micaela N
    National Instruments
    Attachments:
    DAQ.zip ‏95 KB

  • How can i add formula to waveform data type?

    I want to interpolate my acquired data in terms of voltage to temperature. For this i need to use polynomial equation, but i am not able to directly attach formula node to the waveform data type. I want to know how can i add formula node to waveform data, and then also have it real time.

    One additional thought that may be helpful. Once you get the Y component of the waveform graph you are going to attempt to wire this into a formula node. You can do one of two things with that array. Put a for loop around the formula node and index the array into and out of the for loop. This allows you to do scalar math on the data. It is also possible to index and array in a formula node. The following KnoledgeBase demonstrates how to do this: http://digital.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/9d72b6069346942386256a0d00604ed4?OpenDocument

  • Read Waveform Data in C

    Dear community,
    I am looking for a way to read waveform data file with external software like C or Java.
    The Data Acquisition, very simple code, is written and run in LabVIEW 2009SP1.
    (see attachment)
    Is an prepared header for data struct, open(), read(), close() this file format?
    Anybody an idea? I didnt find anything here.
    Regards,
    esod
    Attachments:
    writeDAQ.png ‏21 KB

    Hi esod,
    see this:
    I'm saving an array with just one waveform in it. The resulting file contains:
    0000 0001 - array size (one waveform in the array)
    0000 0000 D156 9847 5451 8000 0000 0000 - timestamp of first waveform
    3FF0 0000 0000 0000 - dt value (1)
    0000 0003 - array size of Y component
    0000 0000 0000 0000  - first sample (0)
    3FF0 0000 0000 0000 - 2nd sample (1)
    4000 0000 0000 0000 - 3rd sample (2)
    remaining stuff: the variant containing no attributes (?) in this example.
    Timestamps use 128 bits in LabVIEW. Samples and dt use DBL datatype. Arrays have their size prepended as I32. Variant is a monster of it's own…
    Forgot to mention in the first place: Those are internal representations of LabVIEW datatypes. They might change with each LabVIEW version (as happened to the timestamp long time ago), but I guess it is unlikely for the current waveform datatype…
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • Waveform data could contaminate x axis display in waveform chart?

    Hello
    Please take a look at this vi:
    Attachments:
    Real-Time Chart.vi ‏19 KB

    Ben wrote:
    It looks like you are getting bogus time stamps from the SV.
    This thread talks about the chart and waveforms.
    Try click the Chart on the front panle to find the ignore...
    Ben
    As far as I understood this example uses "t0" from the waveform data for x axis. I tried this method and it works. The date and time shows correctly. That's great.
    But I actually have another request for the chart display, that is to show data in a certain time period, which should be programmable. For example I could let the chart show the data waveform in 10 seconds this time(I mean in one screen without scrollbar), and the next time I execute it, I change the parameter and show the data waveform in 60 seconds.
    I tried to modify the initialization like that:
    I thought by changing the maximum value of the scale range, I could realize that. This kind of setting didn't really work. before the breakpoint, the time in x axis became chaos again, and after going into the loop it returns to correct value.
    Do you have any ideas how to realize that?
    Thanks again!
    Best regards
    zzha

  • Waveform chart time axis is not matching the waveform data

    So here an interesting conundrum I hope you might be able to help me with...
    My VI has waveform data sent to a chart, though the data is not being plotted against the current time.  Rather, it is being plotted starting way back in the reference time (way back in 1903).  I don't understand why this is happening.  When I build the waveform, I use the "Get Date/Time in Seconds" function outside the while loop and feed that into my "Build Waveform" Function as the t0 value.  My dt value is 0.05 (20 Hz) and then I feed in my array of data in the Y input.  Any ideas why the chart is plotting this data over 100 years ago?  Thanks!
    Andrew

    Hiii, Ronin
          Here is your solution.
    By default, waveform charts and graphs display the absolute time at time 0 as 7:00:00 PM, 12/31/1903 on a Windows based system. Property nodes can be used to get the correct absolute time to display on the x-axis of the waveform chart.
    First, right click the chart on the front panel and select X Scale >> Formatting. Then set the format to Absolute Time.
    Create a property node for the waveform chart by right-clicking on the chart on the block diagram and selecting Create >> Property Node. Expand the property node to display two properties. Select the Format property and the Offset property. The Format property is located under X-Scale >> Format and Precision >> Format, and the Offset property can be found under X-Scale >> Offset and Multiplier >> Offset. Right click on the property node and select Change All to Write.
    For the Format property, the context help shows that there are multiple inputs to this property. Wire in a value of 7 to set the format to Time and Date.For the Offset property, first wire the output of the Get Data/Time in Seconds VI to the input of the To Double Precision Float VI. Then wire the output of the To Double Precision Float VI to the Offset property.
    In addition, if you know the number of data points plotted to the chart per second, you can set the Multiplier property located under X-Scale >> Offset and Multiplier >> Multiplier. If there are x data points generated per second, wire in a value of 1/x to the Multiplier property. A simple example program "Chart with Timestamp" that demonstrates how to do that is attached.
    Thanks,
    Nishant
    Attachments:
    Chart with Timestamp.vi ‏36 KB

  • How do I convert an earlier numeric array in LabVIEW 5.x or earlier to a Waveform Data Type in LabVIEW 6i?

    I am trying to convert old data arrays in LabVIEW 4.x & 5.x to the new Waveform Data Type in LabVIEW 6i. Please Ref. Doc. LabVIEW 6.0 Upgrades Notes page 7-8 as a source.
    Has anyone ever tried it?

    try to use Buil Waveform VI after loading old data from files ...
    LabView Help : "Build Waveform
    Builds a waveform or modifies an existing waveform. If you do not wire an input to waveform, Build Waveform creates a new waveform based on the components you enter. If you do wire an input in waveform, the waveform is modified based on the components you specify. This function is expandable."

  • How do I convert a earlier numeric array in LabVIEW 5.x or eralier to a Waveform Data Type in LabVIEW 6i?

    I am trying to convert old arrays in LabVIEW 4.x and 5.x to the new Waveform Data Type in LabVIEW 6i. Please ref. Doc. LabVIEW 6.0 Upgrades Notes page 7-8 at a source of reference. Has anyone ever tried it?

    Hi Andy,
    I do this all of the time. On the block diagram palette is the Waveform subpalette. The second icon is the build waveform vi. This has three elements, to, dt, and y. The to is the initial time (typically zero), the dt is the delta time in your waveform and the y is where you wire up you old array data to. The output is a waveform datatype.
    Regards,
    Marc

  • Help with Multi point chart plot hile using the waveform data type..

    Currently I have two channels being transfered into the AI C-Scan block (by means of a build array) in hopes to display the outputs on a chart as well as an output file. As an outout I am using the waveform data type, as I hear this is the way to go. Problem is that I have the the Waveform chart directly connected to the waveform out put the the AI C-SCAN block but nothing is being displayed on the chart. Although the time is updated on the chart it is listed as the year 1903. I do have data these channels as the there are digital outputs for these channels. Perhaps I should use the AI CONFIG and AI READ clocks rather than this AI C-SCAN. Any ideas...

    Christian,
    Please see the Real-Time Chart shipping example for LabVIEW. This example describes how to set the base time of the chart so that the time and date are correct.
    You may want to autoscale the Y-axis as your data may be out of range of your chart and that is why nothing is seen.
    Randy Hoskin
    Applications Engineer
    National Instruments
    http://www.ni.com/ask

  • Convert LV waveform data to nCode .dac format?

    Does anyone have Vi's or information on how to convert waveform data to nCode .dac format?

    Hello dhuff,
    Thank you for contacting National Instruments.
    I haven't been able to find any VIs built that take LabVIEW data and convert it to nCode, but it can be done. You would need to know details of the way the data is stored in .dac files including endian order, whether it's channel oriented or block oriented, etc. Use the data manipulation VIs in the advanced palette if you need to mainpulate bits, bytes, or words. Then you can use the LabVIEW File I/O VIs for the actual file writing.
    Post back if you have any issues using these VIs.
    Regards,
    Gerardo Garcia
    National Instruments
    Applications Engineer

  • Sine waveform data Compression Techniques

    Hi Engineers,
    I am looking for some techniques or algorithms to compress the Sine Wave waveform data.
    (Some of the changes I already done like DBL to SGL format and 16 bit integers )
    I can't effort the sample loss.
    Thanks and Regards
    Himanshu Goyal
    Thanks and Regards
    Himanshu Goyal | LabVIEW Engineer- Power System Automation
    Values that steer us ahead: Passion | Innovation | Ambition | Diligence | Teamwork
    It Only gets BETTER!!!

    Himanshu,
    simple mathematic for binary files:
    30 channels a 10KS/s presumably double => 30*10.000*8 Bytes/s = 2.400.000 Bytes/s (roughly 2MB/s).
    Running the application for 1 hour should result in 2MB/s*60*60 = 7.2GB.
    So the file you are getting is the most condensed version of data without lossing information.
    Loss of information will bring that down to less amount of space needed, but you have to consider which information you want to discard.
    Possible ways:
    1) Convert all data to Single: You will lose information, eventually cutting off values if the values are very big or very small. On the other hand, you cut down the space to 1/2 (3.6GB/h)
    2) Averaging: Calculate the average for several values. This is ok for good oversampling (>1000) and small numbers (<50) esp. when the signal has lots of noise. The space needed is cut down by the amount of values you build the average on. Please note that you cannot use a moving average (which is in fact a simple filtering method).
    3) Calculate a form-fit function for packages of the signal and store the parameters for the given function: Best compression, but will lose nearly all information of the waveform and introducing uncertainties by the form fit function (increasing errors). In addition to that, packages might have steps to one another since the form fit function will not result in a continuous function without steps.
    There are more methods for sure, but those are the most basic and common that i can think of.
    hope this helps,
    Norbert
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • How can I find an example about acquiring waveform data by software trigger using PXI 4070 DMM?

    Anybody could proivde an example or simliar about acquiring waveform data by software trigger using PXI 4070 DMM?
    Thanks!

    hi there
    from the NI main page go to the developer zone http://www.ni.com/devzone/dev_exchange/ex_search.h​tm. select "LabVIEW" and "Digital Multimeter (DMM)" and search for "4070". then you'll find some examples.
    Best regards
    chris
    CL(A)Dly bending G-Force with LabVIEW
    famous last words: "oh my god, it is full of stars!"

  • How do I turn a Labview measurement file into waveform data

    How do I turn a Labview measurement file into waveform data, I have done this recreating the waveform out of an array with build waveform vi, is there another way?

    OK I am sorted, sorry for such a stupid question!!!!!

  • Peak detection from waveform data

    Hi Folks.
    This is probably an obvious one but I cant figure it out. In the sine wave detector VI attached the peaks are determined from a simulated signal. I want to be able to do the same with a waveform data (DBL) but it wont let me. How can I extract the signal from the DBL to feed to the rest and make the waveform peak detector VI work right??
    Thanks,
    Mark.
    Solved!
    Go to Solution.
    Attachments:
    Sine Wave Detector 2009.vi ‏140 KB
    waveform peak detector.vi ‏40 KB

    Use From DDT, found on the Signal Manipulation Palette, to change the Dynamic wire into a Waveform.
    Bob Schor

Maybe you are looking for

  • ISE 1.3 Load Balancing

    Hello, I've got 4x ISE appliance, 2x Administration and 2x PSN 1 Administration primary / Monitoring secondary 2 Policy Service Node 3 Administration secondary / Monitoring Primary 4 Policy Service Node Both PSN's are in the same Node Group... ISE is

  • Why wont my ipad 2 play movies

    i have knowhow cloud backup and share and all my movies which are MP4 are on there. however, whether im using the app or going online i cant stream and watch the videos, there is just a black screen. this has happened on some other videos on other we

  • Front Row video tearing problem - please post your config here

    Reopening the thread because the previous one is locked!!! IEnumVariant Mac OS X (10.4.4) IErrorInfo Click here for the details http://discussions.apple.com/thread.jspa?threadID=346352&tstart=15

  • Transaction BP dumps Since Deleting Extension in EEWB

    I added some fields to transaction BP using EEWB. I have now deleted the project out of eewb, and the bp transaction dumps with NO_ACTIVE_TAB exception. It looks like the new tab didn't get deleted through eewb. I have tried to create a new extension

  • ASA CX5545 Upgrade Procdures

    I need to upgrade my ASA 5545-x, I have updated to latest code and now I am attempting upgrade the the CX Module so that I can update the PRSM software.