Ignore:
Timestamp:
Sep 19, 2013 2:24:48 PM (9 years ago)
Author:
srkline
Message:

Changes to:
Polarization - to correct naming errors when saving polarization panel states. Names were too long.

Event Mode - improved the re-loading of split oscillatory data sets. Also allows easier editing of the list of split files to re-load for decimation.

FFT/real space - Modified gizmo to automatically color the different SLDs present. Limitied to 5 different SLDs due to a limitation of the voxelgram. If more than 5 SLDs are present (solvent does not count), then the extra ones are not displayed. Also modified KR-3Cyl procedures to be able to save/import a table of coordinates.

Location:
sans/Dev/trunk/NCNR_User_Procedures/Analysis/Alpha/Tinker
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • sans/Dev/trunk/NCNR_User_Procedures/Analysis/Alpha/Tinker/FFT_KR_Parser.ipf

    r840 r923  
    392392        Button button_2,pos={178,50},size={150,20},proc=KR_GenerateButtonProc,title="Generate Structure" 
    393393        Button button_4,pos={178,80},size={120,20},proc=KR_DoCalcButtonProc,title="Do Calculation" 
    394         Button button_3,pos={600,50},size={120,20},proc=KR_DeleteRow,title="Delete Row(s)" 
     394        Button button_3,pos={600,60},size={120,20},proc=KR_DeleteRow,title="Delete Row(s)" 
     395        Button button_5,pos={600,10},size={120,20},proc=KR_SaveTable,title="Save Table" 
     396        Button button_6,pos={600,35},size={120,20},proc=KR_ImportTable,title="Import Table" 
    395397        ValDisplay valdisp_0,pos={339,16},size={80,13},title="FFT_T" 
    396398        ValDisplay valdisp_0,limits={0,0,0},barmisc={0,1000},value= #"root:FFT_T" 
     
    462464End 
    463465 
     466Function KR_SaveTable(ba) : ButtonControl 
     467        STRUCT WMButtonAction &ba 
     468 
     469        switch( ba.eventCode ) 
     470                case 2: // mouse up 
     471                         
     472//                      xx,yy,zz,rri,hti,rotx,roty,sld 
     473                        Save/T/P=home/I xx,yy,zz,rri,hti,rotx,roty,sld as "SavedCyl.itx" 
     474                         
     475                        break 
     476        endswitch 
     477 
     478        return 0 
     479End 
     480 
     481Function KR_ImportTable(ba) : ButtonControl 
     482        STRUCT WMButtonAction &ba 
     483 
     484        switch( ba.eventCode ) 
     485                case 2: // mouse up 
     486                         
     487                        LoadWave/T/O/P=home                      
     488                        break 
     489        endswitch 
     490 
     491        return 0 
     492End 
    464493 
    465494//just generates the structure, no calculation 
     
    505534//                      fDoBinned_KR_FFTPanel(npt,qmin,qmax) 
    506535//       
     536 
     537                        //force a redraw (re-coloring) of the gizmo window 
     538                        FFTMakeGizmoButtonProc("") 
    507539                         
    508540                        break 
    509541        endswitch 
    510542 
     543 
     544         
    511545        return 0 
    512546End 
  • sans/Dev/trunk/NCNR_User_Procedures/Analysis/Alpha/Tinker/FFT_Panel.ipf

    r849 r923  
    540540                Execute "Gizmo_VoxelMat()" 
    541541        endif 
     542        ColorizeGizmo() 
    542543End 
    543544 
     
    919920        return(est) 
    920921End 
     922 
     923 
  • sans/Dev/trunk/NCNR_User_Procedures/Analysis/Alpha/Tinker/FFT_VoxelDisplay.ipf

    r840 r923  
    4646End 
    4747 
     48 
     49Function ColorizeGizmo() 
     50 
     51        Wave mat = root:mat 
     52        ParseMatrix3D_rho(mat) 
     53         
     54        Wave rho3D = root:rho3D 
     55        NVAR solventSLD = root:FFT_SolventSLD 
     56 
     57        Variable np,val,ii,ind 
     58        string str 
     59 
     60// how many different SLDs are there? 
     61        //loop through the rho wave, disregarding the solvent 
     62        Duplicate/O rho3D tmpSLD 
     63        Make/O/D/N=0 SLD_id 
     64        SLD_id = 0 
     65        np = 0 
     66 
     67        if(numpnts(rho3D)==0) 
     68                return(0)               //nothing in matrix, get out 
     69        endif 
     70 
     71        do 
     72                val = WaveMin(tmpSLD) 
     73                if(val != solventSLD && val != 1e10) 
     74                        np += 1 
     75                        InsertPoints numpnts(SLD_id),1,SLD_id 
     76                        SLD_id[np-1] = val 
     77                endif 
     78                tmpSLD = (tmpSLD == val) ? 1e10 : tmpSLD                // set the values to 1e10 
     79        while(val != 1e10) 
     80        KillWaves/Z tmpSLD       
     81 
     82        Variable numDiffSLD = numpnts(SLD_id) 
     83        if(numdiffSLD > 5) 
     84                DoAlert 0,"Only 5 different colors can be displayed. Some SLDs will not be displayed." 
     85        endif 
     86//      print SLD_id 
     87 
     88//// now loop through and colorize the different parts 
     89        Make/O/D/N=5 rr,gg,bb,aa 
     90        rr = {0,1,4.57771e-05,0.8,0} 
     91        gg = {0.244434,0,0.6,0.799954,0} 
     92        bb = {1,0,0,0,0} 
     93        aa = 0.2 
     94         
     95        for(ii=0;ii<5;ii+=1) 
     96                ind = ii 
     97//      for(ii=0;ii<numDiffSLD;ii+=1) 
     98//              ind = mod(ii,5)         //loop through the 5 colors 
     99                str = "ModifyGizmo/N=Gizmo_VoxelMat ModifyObject=voxelgram0 property={ valueRGBA," 
     100                str += num2istr(ind)+"," 
     101                str += num2istr(SLD_id[ind])+"," 
     102                str += num2str(rr[ind])+"," 
     103                str += num2str(gg[ind])+"," 
     104                str += num2str(bb[ind])+"," 
     105                str += num2str(aa[ind])+"}" 
     106                         
     107//              ModifyGizmo/N=Gizmo_VoxelMat ModifyObject=voxelgram0 property={ valueRGBA,ii,SLD_id[ii],rr[ii],gg[ii],bb[ii],aa[ii]} 
     108//              print str 
     109                execute str 
     110        endfor 
     111         
     112        return(0) 
     113End 
    48114 
    49115// a simple slice viewer ? where did this come from? 
Note: See TracChangeset for help on using the changeset viewer.