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

Similar Messages

  • BCG Brightness Contrast Gamma - Looking for BCG function returning color table / lookup table coded in pure G and applicable to Intensity Graph or Picture Control

    Looking for BCG function returning color table / lookup table coded in
    pure G and applicable to 8-bit Intensity Graph or Picture Control. Do
    not want to use IMAQ Vision is this particular application.  Any
    help is appreciated.
    Sincerely,
    Don

    Take a look at this color model software I put together.  (Don't concern yourself much with the basic programming at this point.). The color component generator subVI is borrowed from a LabVIEW example.
    First look at test_color2.vi.  If you adjust the sliders of the various controls, you will see how it works.  You can see that for pure B&W images, brightness, contrast, and gamma (which I think I have coded correctly) are all fairly straightforward to modify.
    Now look at test_color3.vi.  Here we try to adjust BCG for color images using the color model shown here where current color component clusters are carried into the BCG event cases via shift registers.  You can see that once color is introduced into the image, it becomes difficult to mix the colorizing with the BCG model.  And this is pretty much where I am right now.
    Would be interested in comments / suggestions.
    Sincerely,
    Don
    Attachments:
    test_color2.llb ‏2251 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

  • LabView crash when intensity graph is in P6 of tab control

    Any available fixes for LabView crash when intensity graph is put on page 6 of tab control and right-clicked??

    Michael,
    This has been fixed in LabVIEW 6.1.
    Regards,
    Cyril Bouton
    Applications Engineer
    National Instruments
    Cyril Bouton
    Active LabVIEW Developper

  • Add a simple setting to Intensity Graph that draws grid on top of data

    It would be extremely useful to break up the Intensity Graph data into cells to easily see "coordinates".  At the moment you have to follow coordinates with your finger or a pen.
    I was given this solution but it is surely an overkill for what should be a simple setting.
    http://forums.ni.com/t5/Measurement-Studio-for-NET/WPF-Intensity-Graph-gridlines-not-visible-on-plotted-data/td-p/3168193
     

    Siddhesh,
    You could define buttons / controls ... called 'next comp code' and 'prev comp code', and then in the events for these controls you could re-populate the alv data table with the data for each company code each time a button is pressed. 
    Hope this helps ...
    Duane

  • Image processing from .txt file onto an intensity graph

    I am doing a mini project in my class and I was wondering if anyone could help me. It about image processing but I am bit stuck.
    Heres the idea:
    "An image is really nothing more than a 2D array of data. The value of every element in the array corresponds to the brightness of the image at that point.
    In this project you will create a VI which loads a 2D array of data and then displays it on the screen using the Intensity Graph. Three example files (boats.txt, gordon.txt and parrot.txt) are available on the module webpage that you can use. However, you can also use any other black and white image you like, but will need to convert it to a “text image” first. To do this you can use some software called “ImageJ” which is available on the computers and is free to download.
    You can vary the brightness of an image by adding the same value to every element in the array.
    The contrast of an image is adjusted by multiplying every element in the array by the same value. Using numerical controls and simple array mathematics, you should adjust the brightness and contrast of your displayed image.
    Some other ideas that you could try with image manipulation are:
    o Invert an image (change black to white and white to black)"
    First I am having problems putting my picture onto the graph. It is in the write file but the colours are not correct and the image has rotated 90 degrees. I will upload my VI so far when I get back onto my computer.
    Would really appricate the help! Thank you for reading

    Hi charlthedancer,
    Here is an example to get you started.
    Kind regards,
    GajanS
    Attachments:
    Test.vi ‏14 KB

  • Programmatically disabling/enabling cursor in intensity graph

    Hello all,
    I am building a LV interface (LV2011) for a stepper XY stage.  The system "scans" a surface, displaying it on the graph.  I set up to cursors to zoom into a region of interest (ROI).  Pressing a button resizes the scales to the ROI (zooming in on the area).  Sections of code move the XY stage, and read a device.  When done I want to zoom into a ROI and use a THIRD cursor to manually move the XY stage.  I have this working with TWO graphs, based on the "region of interest.vi" I found in the dev zone.  
    What I would like to do is have a boolean toggle controlling ONE GRAPH between setting min/max (cursors 0 and 1) and manual stepper position (cursor 2).  If cursor 2 is visible I want cursors 0 & 1 not showing and visa versa. Can I do this?
    I attached the example - bascially what I did was add a cursor to the 2nd graph, grabbing the XY vales and sending to the stepper controllers. Works great!  I am trying to "combine the two" by resizing the orig graph with a button click (works fine) and then click another button to show the XY stage cursor (and hiding the min/max cursors) - thats the brick wall
    On a seond note - controlling a XY stage using the intensity graph's cursor is really nice; however it would be great if I can control the cursor similar to a slider's "coerce" - has anyone done this?  I assume I have to write a routine in the event that performs some modulo function. Just curious!
    Thanks,
    Steve
    Solved!
    Go to Solution.
    Attachments:
    roi.llb ‏40 KB

    Your exmaple works perfect. Howver I am having probs with Val(sngl) on the XY graph.  On the example you gave, lets say I move the cursor with the mouse - event fires, everyone is happy. If I move the cursor with CODE - nada.  I even read the "Value" of the graph and wrote it to "Val(sngl)" to try to fire the event.  How does one force a trigger on an XY chart when you move a cursor (say cursor idx2) using code?
    Better yet - why when I read the Val and write to Val(sngl) does the event not fire??? I have been searching for a basic XY table with sensor -type project but havent found one yet.  Everyting works great - draginng the cursor moves the XY stage. Now I need to do the auto-scan part  Use code to place the cursor - trigger the even that moves the stage.
    Thanks
    Steve
    Attachments:
    XY_Stage_Rev8.vi ‏53 KB

  • 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

  • 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

  • SubVI - Main VI: Intensity graph update too slow ??

    I have an intensity graph in my subvi that I call onto my front panel
    using control references. It works nice but it is a lot slower than if
    I just call it as a subVI which loads upon call. Has anyone faced this
    problem before ?
    Thanks
    Kudos always welcome for helpful posts

    I agree with tst, your PP VI runs at unlimited speed for no good reason. You should pace it with a small delay so it will release the control to other processes after each iteration.
    Also your DAQ part seems inefficient. Why do you configure the DAQ task from scratch, acquire, and close at every iteration? This is way too much work. You should flatten this out to the PP vi. Configure outside the loop on the left and close outside the loop on the right. Place only the ACQ part inside the loop.
    Also, place the real terminal of the graph inside the loop and clear it once at the beginning using a local variable. A local variable is always more expensive and less efficient.
    I don't understand why you need a timeout event in the main VI, it does not do anything except spin the loop, right? Just delete the timeout event.
    LabVIEW Champion . Do more with less code and in less time .

  • 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

  • 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

  • Open 32-bit jpeg & convert to intensity graph form (LV8.5 & Vision 8.5)

    I will cross-post this in the Machine Vision forum as
    well.  I have an LLB to open images with IMAQ vision utilities, and
    then attempt to convert to intensity graph format. I obtain the color
    table of the image from a Vision utility, and subsequently apply to the
    intensity graph in hopes of duplicating the vision container contents. 
    I  am unsuccessful in converting 32-bit jpeg and was hoping for some
    help.  Please let me know if this in fact is even possible to do. 
    Attached is an example jpeg image file.
    Sincerely,
    Don
    Attachments:
    open_image_file_and_convert_to_intensity_graph1.llb ‏207 KB
    Photo_111107_0021.jpg ‏240 KB

    DonRoth wrote:
    Hi George:
    Yes - I understand I am getting only one color plane. 
    With LabVIEW / Vision only, can this jpeg image be displayed in an intensity graph with the proper (original) color information? You say the LabVIEW Read Jpeg File.vi reads this image fine - but how do you display the output of this fx in an intensity graph with the original / proper color information (again using only LabVIEW / Vision, or maybe your toolkit)?
    Unless it is an 8 bit color image already you can always down sample it to 8 bit. I think the IMAQ Cast function should do that, otherwise there is for sure some function to change color depth. Colors will of course change slightly as it is very unlikely that a 24bit image especially if it is a photo, has only 256 unique colors used.
    Once you converted your IMAQ image into an 8 bit image extracting the bitmap and color dtable is easy and then applying it to an intensity graph of course too. Remains the question why you wouldn't want to use the IMAQ control. If it is about IMAQ license costs then of course you won't be able to use other IMAQ functions either so this advice won't help then.
    Rolf Kalbemratter
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • WPF Intensity Graph gridlines not visible on plotted data

    Hi, I need to break up my intensity graph data into a visible grid.  Please advice on how this can be accomplished.
    Thank you

    Although you can configure the grid lines to appear above the plots, to draw in between the data points you will want a custom renderer. I have attached an example grid renderer, which you can customize to fit the data you display. If you add an instance of GridRenderer to the Children collection on your graph, it will draw grid lines for each axis passed to the constructor.

  • Picture Control to Waveform Graph

    Hello everyone,
    I'm utilizing the Draw Text at Point VI to display the string "eo" on the picture control.  To put the fear of intense imagining behind, I bring up the question, is there any way to convert the Picture Control, and it's contents, to Waveform graphs?  I could have sworn I worked with intensity graphs and did conversions in this fashion but for the life of me I cannot remember how it was done.
    If not, is there any simple way to bring up actual text in a waveform graph for laser imaging to follow?
    Thanks for any help...
    Regards

    Hi Steve,
    I had a colleague transfer an image into a Waveform Graph.  What came out was not at all the original picture.  The IMAQ driver was used.  I don't know of a method like what you have described.
    Kevin S.
    Applications Engineer
    National Instruments

Maybe you are looking for