Intensity graph pixel size

Can I control the pixel size in Intensity graph. I have 2D array but I want some elements to take larger area than the others.  For example, If I have 3X3 area I will get 9 pixel with equal area. I want to make, for example, the first element to be presented by 90% of the first raw in the graph and the other two with 5% each. 
Thanks

Simply create a 20x20 array and assign the values of your first row to the first 18 rows and the rest of yourvalues to the last 2 rows, and then plot the 20x20 array into the intensity graph.
Marc Dubois
HaroTek LLC
www.harotek.com

Similar Messages

  • Change colors of individual pixels on intensity graph?

    I would like to be able to change the color of a set of individual pixels within an intensity graph, to blue for example, while leaving the color table otherwise as is, for example, gray scale.  The change to blue would be based on location, not on current gray value.  I think I can accomplish this using the mask fx with picture controls, and then convert to intensity graph.  Is there a more direct way?  A good example to demonstrate this capability would be just using a 'mouse down' event on an intensity graph to change the color at the mouse location.  Any thoughts are appreciated.
    Sincerely,
    Don

    Yes, seems to work fine .
    If you have LabVIEW 8.0, there is another possibility. There is a new property that allows drawing any pictures or picture elements on your graph area. Of course you could draw individual pixels, but nothing prevents you from e.g. drawing circles, squares, odd shaped areas, arrows or event text. ... Anything you could do with a plain picture indicator. One example that ships with LabVIEW 8.0 is Envelope.vi, see image.
    Message Edited by altenbach on 06-12-2006 07:31 PM
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    envelope.png ‏32 KB

  • Single pixel formation in Intensity graph

    I needed to capture a image using CCD camera. Though it has 16 bit resolution, i need to focus on ONE PIXEL.
    The process goes like this. Save the image information in a spread sheet array and then find the max value of the array. Till this step, i am OK.
    But how do i get to display this MAX value using intensity graph??
    Intensity graph is 2D array which needs X and Y value.
    So I need to get the X and Y value of the max value of array. I tried using the max index value of 'Max and Min' array function. But it is of no use since the value comes as 1Dimension but the intensity graph needs 2D information in the form of X and Y value. 
    Please help me on this. Thanks in advance.

    Asking the same question in multiple threads does not help or get you an answer more quickly.  Please be patient.  Many of us who participate in the Forum do so as volunteers.
    Now to your question.  As you noted, you can use the Array Max & Min function to locate a pixel with the maximum value.  If more than one pixel has that value, this function only reports the first occurrence of that value.  The 1D output of the Array Max & Min function contains the indexes of the pixel.  So the first element would be the row index (X value) and the second element would be the column index (Y value).   What I do not understand is why you want to display just one value on an intensity graph.  That seems rather meaningless.  Please explain what you want the output to look like.
    Lynn

  • Fast intensity graph possible ???

    I want to display some images (echographic images for information) in a 1st intensity graph, extract a given column and display it in a 2nd intensity graph.
    I have already seen that I have to use the 3Dgraphs. But It seems to be "very slow". Every code line as "m_MyGraph3.Plot3DSimpleSurface(MyMatrixData)" takes between 50 and 60 ms !!!
    My images size is approximately 300*300 pixels.
    I have also a 2nd question concerning the cast that I have to perform on the raw data acquired by our device in order to display it. For 2D graph with vector of data I use the following "single line" declaration code:
    "CNiReal64Vector DataNi(vectorsize, RawDataPointer)"
    Can I perform same thing for 3D graph/matrix of data ???
    Thank you in advance.

    The best way to do this is using the background image of a 2D Scattergraph. Each pixel in the bitmap is a data point. It is really fast. I can do a 3200X1024 bitmap each second without any noticable flicker. Here's some C# code on how to do it.
    Note I'm using a gray scale bitmap which is a byte array and a certain PixelFormat. Just use an int array for the bitmap and specify a PixelFormat of color (32bit RGB).
    There you have it.
    Scott
    private void ShowBlockOfData()
    int width = _EqualizedData[0].Length;
    int height = _EqualizedData.Length;
    scatterGraph1.PlotAreaImageAlignment = ImageAlignment.Center;
    PrepareBitmap(width, height );
    // Now create a dummy bitmap. Use the LockBits method to lock the data in
    // memory. This is much faster than SetPixel (I'm not sure you
    // can use SetPixel with an Indexed type image. )
    Rectangle rec = new Rectangle(0, 0, _Plot.Width, _Plot.Height);
    BitmapData bmd = _Plot.LockBits( rec, System.Drawing.Imaging.ImageLockMode.ReadWrite, _Plot.PixelFormat);
    unsafe
    for(int y=0; y < bmd.Height; y++)
    byte* row= (byte*)bmd.Scan0.ToPointer()+(y*bmd.Stride);
    for(int x=0; x < bmd.Width; x++ )
    row[x] = _EqualizedData[y][x];
    _Plot.UnlockBits(bmd);
    scatterGraph1.PlotAreaImage = _Plot;
    private void PrepareBitmap(int width, int height )
    // Create a new bitmap the first time, otherwise use the old one
    // to create a new one. Hopefully, this will save us resources.
    if ( _Plot == null )
    _Plot = new Bitmap(width, height, PixelFormat.Format8bppIndexed );
    AssignPalette( );
    /// If the palette is null, create it and preserve it internally
    /// Set the images palette to our ColorPalette member.
    private void AssignPalette()
    if ( _palette == null )
    // Get the color palette from the image. You can't
    // create one from scratch.
    _palette = _Plot.Palette;
    // Create a grayscale palette by changing this one.
    for ( int i = 0; i < _palette.Entries.Length; i++ )
    int c = 255-i;
    _palette.Entries[i] = Color.FromArgb( c,c,c );
    _Plot.Palette = _palette;

  • How does LabVIEW Render the data in 2D Intensity Graphs?

    Hello,
    I was hoping someone could explain to me how LabVIEW renders it's 2D intensity data. For instance, in the attachment I have included an image that I get from LabVIEW's intensity graph. The array that went into the intensity graph is 90000x896 and the width/height of the image in pixels is 1056x636.
    Something I know from zooming in on these images as well as viewing the data in other programs (e.g. Matlab) is that LabVIEW is not simply decimating the data, it is doing something more intelligent. Some of our 90000 lines have great signal to noise, but a lot of them do not. If LabVIEW was simply decimating then our image would be primarily black but instead there are very obvious features we can track.
    The reason I am asking is we are trying to do a "Live Acquistion" type program. I know that updating the intensity graph and forcing LabVIEW to choose how to render our data gives us a huge performance hit. We are already doing some processing of the data and if we can be intelligent and help LabVIEW out so that it doesn't have to figure out how to render everything and we still can get the gorgeous images that LabVIEW generates then that would be great!
    Any help would be appreciated! Thanks in advance!
    Attachments:
    Weld.jpg ‏139 KB

    Hi Cole,
    Thank you for your understanding.  I do have a few tips and tricks you may find helpful, though as I mentioned in my previous post - optimization for images or image-like data types (e.g. 2D array of numbers) may best be discussed in the Machine Vision Forum.  That forum is monitored by our vision team (this one is not) who may have more input.
    Here are some things to try:
    Try adjusting the VI's priority (File»VI Properties»Category: Execution»Change Priority to "time critical priority")
    Make sure Synchronous Display is diasbled on your indicators (right-click indicator»Advanced»Synchronous Display)
    Try some benchmarking to see where the most time is being taken in your code so you can focus on optimizing that (download evaluation of our Desktop Execution Trace Toolkit)
    Try putting an array constant into your graph and looping updates on your Front Panel as if you were viewing real-time data.  What is the performance of this?  Any better?
    The first few tips there come from some larger sets of general performance improvement tips that we have online, which are located at the following links:
    Tips and Tricks to Speed NI LabVIEW Performance
    How Can I Improve Performance in a Front Panel with Many Controls and Indicators?
    Beyond that, I'd need to take a look at your code to see if there's anything we can make changes to.  Are you able to post your VI here?
    Regards,
    Chris E.
    Applications Engineer
    National Instruments
    http://www.ni.com/support

  • Export high resolution intensity Graph

    Hi,
    I want to export the intensity graph to a high resolution image. Now i've got an image with a resolution of 72 dpi.
    Is it possible to set the export resolution?
    Regards, 
    Bjorn
    Attachments:
    export graph image.vi ‏406 KB

    Seems the image indicator/clipboard method from the previous post has some limitations for larger sizes.
    In this case, it works fine if you save to a file, e.g. as follows. (see attached 8x image). (No image container needed).
    Message Edited by altenbach on 07-06-2009 04:54 AM
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    export_graph_imageMOD2.vi ‏399 KB
    8xsize.png ‏209 KB
    8xDiagram.png ‏10 KB

  • Cursor Misalignme​nt in Intensity Graph (LV6.1)

    Howdy.
    I have an Intensity Graph, with a 2D array of data (about 300x300) and a cursor. The cursor is locked to the plot, which for intensity graphs, means that the cursor is drawn at the lower left corner of the pixel that is being addressed.
    Most of the time this works fine. However, sometimes, the cursor is drawn as being located at one pixel, but the values reported for the cursor are in fact a neighbor (usually the one to the right). The zoom level of the graph is such that a given pixel is larger than a screen pixel (about 3-5 times), so I wouldn't think that it was an aliasing problem, but the problem does go away if I zoom in a little further.
    Has anyone else seen this? Does anyone have a fix?

    I don't have a repeatable set of conditions that lead to this problem, so I don't have a demo vi that exhibits it.
    As to unlocking the cursor, I think that in an intensity plot that is more confusing; the location and value reported for a cursor position are shifted half a pixel down and half left with respect to the way the plot is filled in. In other words, say we have a 10x10 plot shown in 100x100 pixel window. Each intensity value is 10 pixels wide. The axis values line up on the boundaries of these pixels. When the cursor is within half a unit (5 pixels) of the crossing point of these axes, that is, near the intersection of boundaries of four adjacent pixels, the value reported is the pixel location and value in the upper right of these four pixels. This means that with an unlocked cursor, I can be positioning it over (visually) the lower left pixel, but selecting the upper right. In fact 3/4 of any given pixel's visual representation is actually going to select some other pixel. So I've locked the cursor to remove that uncertainty; now it is supposed to be always in the lower left corner of the pixel selected.

  • Control grid intensity graph

    Hi,
    I want to control the grid of an intensity graph to be exactly spaced by "1"... How to do?
    See attached example in LV8.5. Start with default values and you get grid lines with spacing of 1.
    Now change "size" to 15 and run again. Gridlines are now spaced by 0.5. Size=10 -> spacing of 0.2, size=4 -> spacing=0.1 ...
    I want to have a spacing of 1 regardless of size parameter! How to achieve this?
    Btw. I need both major and minor grid, as array size can grow to more than can be handled by major grid alone...
    Message Edited by GerdW on 02-26-2008 03:09 PM
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome
    Attachments:
    Test_Grid_LV85.vi ‏16 KB

    Hi Simon,
    thanks for clarification.
    To summarize: major increment has to be bigger than minor and you have to set them both...
    Scale labelling is not so important for me, but it would be nice to have each number when space is sufficient (in the example vi for sizes upto 15). It seems I have to change my graph formatting a little bit: make minor grid transparent when not needed (for small sizes) and switch gridlines on, when scale space is not sufficient to show all numbers...
    In the attached example pic (today's measurement of pressure sensor wafer ) I use the gridlines to separate single chips. And I always want to separate single chips regardless of array size (=wafer/chip) - which can vary from 10 to ~80...
    Message Edited by GerdW on 02-26-2008 05:26 PM
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome
    Attachments:
    grid-example.png ‏27 KB

  • Intensity Graph control using VC++ 6.0?

    LabView supports an "Intensity Graph" control. Is there a way to accomplish the same thing with CNiGraph, CWGraph or CNiGraph3D?

    Thank you for you answer. It was very helpful. One thing missing is the "intensity slider" that is part of the LabView control. It allows the user to adjust the image display. The other problem I have is that the 3D graph axes labelling always looks big and clunky no matter what I use for font type/size. What I am trying to emulate is shown in the attachment. Basically I am translating some LabView code into C++.
    Attachments:
    Image1.bmp ‏203 KB

  • X-Y with intensity graph

    Hello.
     This is my task :
    I have 2 waveforms with different frequency ( this is my output) I read them with Analog input. One waveform is x and the other is y. I have also the third input that is the intensity in every point ( so I have x,y and intensity). I need to built graph with these 3 parameters. Do you have any idea what kind of chart do I need?

    I will try to explain my problem again.
     I need to built raster with signal. In the analog output (two channels) I generate two waveforms with different frequency. With two Analog inputs I read this waveforms and also I read additional AI with signal intensity. And I need to present in the intensity chart or graph signal intensity in every pixel (x-y). So I need to solve a number of problems:
    1. First of all I get tree AI in one waveform chart. And I didn't understand how I can split the signals from the different waveforms.
    2. How to "explain" to the intensity graph that every point intensity has specific x and y.
    Maybe now it is more clear. I attach my vi's maybe you can help me.
    Thank you
    Attachments:
    AI+plot.vi ‏90 KB
    AO.vi ‏63 KB

  • Region of Interest (ROI) on Intensity Graph

    Hello,
    I hope somebody can help me.  I have read the other posts available regarding choosing ROIs on intensity graphs but they don't really answer my question.
    I am taking a series of still images.  Having stored the image as an array and displayed it on the intensity graph, I need some way of selecting a rectangular ROI (preferably with mouse) to define an array subset and performing max/min/mean/standard deviation measurements on this region.  I am aware that the array would need reshaping to work with the in built VI for mean and standard deviation but cannot seem to find a way to may the selection of the array subset in the first place.
    I would be very grateful for any pointers
    Sarah Bohndiek

    Hi,
      since you're using an intensity graph, you could use an event structure to capture for the mouse down and mouse up events.
    They both give you the coords of where the mouse was. The nex trick would be to convert that into array position co-ordinates, which requires knowing how the data is presented in the graph (actual graph area size, and the amount of data passed to it.) It's easy enough to get the size of the plot area, and you can get the position of the control itself, however calculating exactly where the plot area is inside of the control is not available.
    If you plot area size is fixed, you could use a picture control, set to transparent over the top of the plot area. Then use the same trick for the event returning co-ordinates. If you change the values on the scale however, the actual plot area can change in size too (since the renumbering on an auto-scale can cause the scale on the axis to move if the text increases or decreases in length)
    By far the easiest route would be to buy the vision development module and use the image control which has the built in ROI capabilities (and editing of the ROI).
    Hope that helps
    Sacha Emery
    National Instruments (UK)
    // it takes almost no time to rate an answer
    Attachments:
    roi on intensity (picture).vi ‏73 KB

  • Double clicking an intensity graph to call an event

    I am trying to make a certain sequence of events happen if a user double clicks an intensity graph. I didn't notice a 'double click event' just mouse up and downs. Is there a way to recognize a double click if it occurs within a pixel range or on an intensity graph?

    Hi.
    Indeed, there is no built in event to catch a double click, but you can use any of the "single click" events to build yourself your own double-click detector, as shown in the attached VI. What I do there is set the value of a shift register to 1 when there is a mouse down? event and the shift register had a value of 0 (first click). If there is another mouse down? event before the timeout (which you can set to whatever you want), I consider that a double click, and execute whatever code you want for a double click. If the timeout passes, the user didn't click twice on the graph fast enough to be considered a double click, so the shift register is set back to 0.
    Attachments:
    DetectDoubleClick.vi ‏35 KB

  • Scaling intensity graph Z-ramp with panel - how?

    In LV7.1.1 is there any way to get the color ramp associated with an intensity graph to scale with changes in the VI panel size?
    I've tried telling VI to scale the intensity graph indicator with the panel and that didn't work nor did telling it to scale all front-panel objects with the panel. The ramp always retains its original size.

    I think you are stuck.
    As for most of the controls, there is no way to change the size programmatically.
    The only thing you could do as work around is to create a picture control (which size can be changed...) to mimick the graph scale...
    Chilly Charly    (aka CC)
             E-List Master - Kudos glutton - Press the yellow button on the left...        

  • How to make beautiful intensity graph/chart?

    I have one question for plotting the intensity graph using labview. I have ten bins
    particle data (as attached, the first row is particle size which is y and the x is time, and the z is the particle concentration). I try to plot a intensity graph, but I got a very ugly picture. I use the property node but still don't get a good one. I want to know if the data is sufficient to make a nice plot and how to make it? Thank you very much.
    Attachments:
    06242008-dNdlogDp-flow3.txt ‏27 KB

    Thanks,altenbach. What I mean beautiful picture is something like thisnot include the top line). Anyway, could you put your vi in the post, I use labview7.1, thank you.
    altenbach wrote:
    jzhao wrote:
     I use the property node but still don't get a good one.
    I have no idea what that means! What kind of property??? What did you wire to it????
    An intensity graph needs the point regularly spaced (linear or lograrithmic), while your y mapping is nonlinear. This means you need to re-interpolate for a regular xy grid.
    Unfortunately, I don't know what you mean by "ugly" can you show us an example and tell us in what way it is ugly.
    Here's a quick attempt, remapping the y-axis to 200 equally spaced points. I don't know if you consider this ugly.
    Message Edited by altenbach on 06-28-2008 01:32 AM
    altenbach wrote:
    jzhao wrote:
     I use the property node but still don't get a good one.
    I have no idea what that means! What kind of property??? What did you wire to it????
    An intensity graph needs the point regularly spaced (linear or lograrithmic), while your y mapping is nonlinear. This means you need to re-interpolate for a regular xy grid.
    Unfortunately, I don't know what you mean by "ugly" can you show us an example and tell us in what way it is ugly.
    Here's a quick attempt, remapping the y-axis to 200 equally spaced points. I don't know if you consider this ugly.
    Message Edited by altenbach on 06-28-2008 01:32 AM
    altenbach wrote:
    jzhao wrote:
     I use the property node but still don't get a good one.
    I have no idea what that means! What kind of property??? What did you wire to it????
    An intensity graph needs the point regularly spaced (linear or lograrithmic), while your y mapping is nonlinear. This means you need to re-interpolate for a regular xy grid.
    Unfortunately, I don't know what you mean by "ugly" can you show us an example and tell us in what way it is ugly.
    Here's a quick attempt, remapping the y-axis to 200 equally spaced points. I don't know if you consider this ugly.
    Message Edited by altenbach on 06-28-2008 01:32 AM
    Attachments:
    DMA_N.jpg ‏162 KB

  • How do I find the pixel size of a photo?

    I have taken a photo or found one online.
    It's now on my ipad.
    How do I tell the pixel resoution of the photo via the ipad?
    I have two of the same photos on my device at the moment and want to delete one.  They may both be 2048/2048, but without emailing them or putting them in Dropbox, and viewing on my laptop, I don't see how to tell.

    Get the Actual Pixels App from the App Store. It's free and will tell you the pixel size of any photo you open.
    https://itunes.apple.com/ca/app/actual-pixels/id608679577?mt=8

Maybe you are looking for

  • AirPlay from MacBook Pro to an iPad?

    Can AirPlay be used to mirror a MacBook Pro (OS X10.9.3) to an iPad running iOS 7.1?  The support material from Apple (and most of the community discussions) concern getting Airplay from a Mac computer or iOS device to run to an Apple TV.  But there

  • Photo Booth compatible webcams?

    Does anyone know of any webcams that are compatible with Photo Booth and iChat? Since I have a Mac Mini, I need something 3rd party that would work since Apple no longer sells the iSight stand-alone. Any advice?

  • Message Mapping  - concatenate issue

    Dear all, I am making a message mapping with two structures: Source:                 UF CNF I am creating a target message that will have a initial tag (  at the end of line if I don´t have this field ? Thanks, Regards, Fernando

  • Java.sql.SQLException: Missing IN or OUT parameter at index:: 2

    hi am having this error where the page load,am in jdeveloper 11.1.1.6.0,i have created a autosuggest in my inputtext as below,i am trying to do cascanding lov Edited by: adf0994 on 2013/01/10 4:27 PM

  • Stacked bar/null data bug.

    Hi All, Despite a number of posts reporting this bug in previous releases of Apex I am facing a simmilar issue as people before me... I am trying to generate a stacked bar graph for a given period of time. To make my point clear let me provide an exa