
Remove Traces Inside Marquee

RGerkin
Menu "GraphMarquee" "Remove Traces Inside Marquee", /Q, print TracesInsideMarquee("",remoov=1) End Function /s TracesInsideMarquee(traces[,offset,remoov,win]) string traces,win string offset // Optional offset for searching traces. Use this if something if the trace plotted does not start at wave index 0. variable remoov // Remove from graph. win=selectstring(!paramisdefault(win),winname(0,1),win) if(!strlen(traces)) traces=tracenamelist(win,";",1) endif getmarquee /w=$win variable factor=ScreenResolution/72 variable xMid=factor*(v_right+v_left)/2 variable yMid=factor*(v_bottom+v_top)/2 variable dx=factor*(v_right-v_left)/2 variable dy=factor*(v_bottom-v_top)/2 variable i,xx,yy string newTraces="" for(i=0;i<itemsinlist(traces);i+=1) string trace=stringfromlist(i,traces) string hit="" string options sprintf options,"WINDOW:%s;ONLY:%s;DELTAX:%d;DELTAY:%d",win,trace,dx,dy hit=tracefrompixel(xMid,yMid,options) if(strlen(hit)) newTraces+=stringbykey("TRACE",hit)+";" endif endfor if(remoov) newTraces=sortlist(newTraces,";",17) for(i=0;i<itemsinlist(newTraces);i+=1) trace=stringfromlist(i,newTraces) removefromgraph /z/w=$win $trace endfor endif return newTraces End

Forum

Support

Gallery
Igor Pro 9
Learn More
Igor XOP Toolkit
Learn More
Igor NIDAQ Tools MX
Learn More
Display wave0,wave0,wave0
Now try removing 'wave0#1' and 'wave0#2'
I think you'll find that after removing wave0#1 that RemoveFromGraph will complain that there no longer is a 'wave0#2'.
I suggest you don't sort the list until after the removing, and do the removing in reverse order.
--Jim Prouty
Software Engineer, WaveMetrics, Inc.
December 2, 2010 at 11:51 am - Permalink