ojRecalculate(); markers = newArray(ojNColumns()); index=0; for (i=1;i<=ojNColumns();i++){ if(endsWith(ojGetColumnTitle(i),"xpos")){ markers[index]=substring(ojGetColumnTitle(i), 0, indexOf(ojGetColumnTitle(i), "_"));//find the name before the _ index++; } } markers=Array.trim(markers,index); //If repressing after already running bring history to front if(isOpen("History of Selected Synapse: ")) selectWindow("History of Selected Synapse: "); nOld=-1; truthtest=true; while(truthtest){ n=ojSelectedObject(); if(n!=nOld&&n>0){ imageNum=ojOwnerIndex(n); first=ojFirstObject(imageNum); numToAdd=n-first; size=ojNImages(); type=Array.fill(newArray(size),-1);//starts everything as minus 1 so I can tell if any markers are undefined Session_Number=newArray(size);//id of sessions Synapse_Type=newArray(size); Notes_on_session=newArray(size); typeChanged=newArray(size); prevType=newArray(size); for(i=1;i<=ojNImages();i++){ first=ojFirstObject(i); numOnImage=numToAdd+first; Session_Number[i-1]=d2s(i,0); if(numOnImage<=ojLastObject(i)){ for(markTypeNum=0;markTypeNum0) type[i-1]=markTypeNum; } temp=ojResultString("Notes",ojIndexToRow(numOnImage)); }else{ temp=""; } if(type[i-1]==-1) Synapse_Type[i-1]="No marker"; else Synapse_Type[i-1]=markers[type[i-1]]; if (ojColumnNumber("OrigType")>0){ pTypeTemp=ojResultString("OrigType",ojIndexToRow(numOnImage)); prevType[i-1]=pTypeTemp; //Error if try to set in one line with above typeChanged[i-1]="NO"; if(Synapse_Type[i-1]!=ojResultString("OrigType",ojIndexToRow(numOnImage))) typeChanged[i-1]="YES"; } if(temp!="") Notes_on_session[i-1]=temp; else Notes_on_session[i-1]="_______"; } numToAdd=numToAdd+1; Synapse_ID=Array.fill(newArray(size),numToAdd); if (ojColumnNumber("OrigType")>0){ Array.show("History of Selected Synapse: ", Session_Number,Synapse_ID,Synapse_Type,typeChanged,prevType,Notes_on_session); }else{ Array.show("History of Selected Synapse: ", Session_Number,Synapse_ID,Synapse_Type,Notes_on_session); } nOld=n; } wait(500); }