Changeset 2833


Ignore:
Timestamp:
Sep 22, 2019 2:56:01 PM (7 weeks ago)
Author:
gegorbet
Message:

convert--download timestate if needed + proper lambda range adjust, xpn_viewer--fix crash + warn with ScanMask?,#scans discrepancy

Location:
trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/programs/us_convert/us_convert_gui.cpp

    r2828 r2833  
    4444
    4545
    46 US_ConvertGui::US_ConvertGui(QString auto_mode) : US_Widgets()
     46US_ConvertGui::US_ConvertGui( QString auto_mode ) : US_Widgets()
    4747{
    4848   ExpData.invID = US_Settings::us_inv_ID();
     
    15211521{
    15221522   impType     = getImports();
     1523DbgLv(1) << "CGui:IMP: impType" << impType;
    15231524
    15241525   if ( impType == 1 )
     
    15411542
    15421543   success = read();                // Read the legacy data
     1544DbgLv(1) << "CGui:IMP: read success" << success;
    15431545
    15441546   if ( ! success ) return;
     
    15521554   // Figure out all the triple combinations and convert data
    15531555   success = convert();
     1556DbgLv(1) << "CGui:IMP: convert success" << success;
    15541557
    15551558   if ( ! success ) return;
     
    15571560   // Initialize export data pointers vector
    15581561   success = init_output_data();
     1562DbgLv(1) << "CGui:IMP: initout success" << success;
    15591563
    15601564   if ( ! success ) return;
     
    15901594      referenceDefined = false;
    15911595      pb_reference->setEnabled( true );
    1592 DbgLv(1) << "CGui: (2)referDef=" << referenceDefined;
    1593    }
    1594 DbgLv(1) << "CGui: import: RTN";
     1596DbgLv(1) << "CGui:IMP: (2)referDef=" << referenceDefined;
     1597   }
     1598DbgLv(1) << "CGui:IMP: import: RTN";
    15951599   le_status->setText( tr( "Legacy data has been imported." ) );
    15961600}
     
    17831787   QDir readDir( importDir );
    17841788
    1785    qDebug() << "CURRENT DIR_1: " << importDir;
     1789DbgLv(1) << "CGui:iA: CURRENT DIR_1: " << importDir;
    17861790
    17871791   QApplication::setOverrideCursor( QCursor( Qt::WaitCursor ) );
     
    18061810      QString uuidst = US_Util::new_guid();
    18071811      US_Util::uuid_parse( uuidst, (unsigned char*)&rdata.rawGUID );
    1808 DbgLv(1) << "rIA: trx" << trx << "uuid" << uuidst << importDir;
     1812DbgLv(1) << "CGui:iA: trx" << trx << "uuid" << uuidst << importDir;
    18091813
    18101814      // Save the raw data for this triple
     
    18331837   // //TEMP
    18341838   //runID += QString("-test");
    1835      
    1836    qDebug() << "RUNID from files[0]: files[0]" << fname << ", runID: " << runID;
     1839
     1840DbgLv(1) << "CGui:iA:  RUNID from files[0]: files[0]" << fname << ", runID: " << runID;
    18371841     
    18381842   le_runID2->setText( runID );
     
    19321936   // Point to any existing time state file
    19331937   QDir ddir( currentDir );
    1934    qDebug() << "CURRENT DIR_2: " << currentDir;
     1938DbgLv(1) << "CGui:iA:  CURRENT DIR_2: " << currentDir;
    19351939   QStringList tmsfs = ddir.entryList( QStringList( "*.time_state.*" ),
    19361940         QDir::Files, QDir::Name );
     
    19721976   }
    19731977
    1974    if (!us_convert_auto_mode)
    1975      {
    1976        //le_status->setText( tr( "AUC data import IS COMPLETE." ) );
    1977        le_status->setText( tr( "Loading Data from Disk Successful." ) );
    1978      }
     1978   if ( !us_convert_auto_mode )
     1979   {
     1980      //le_status->setText( tr( "AUC data import IS COMPLETE." ) );
     1981      le_status->setText( tr( "Loading Data from Disk Successful." ) );
     1982   }
    19791983     
    19801984   pb_showTmst->setEnabled( ! tmst_fnamei.isEmpty() );
     
    27672771   
    27682772   if ( isMwl )
    2769      {
    2770        qDebug() << "SOLUTION is READ in MWL mode !!! ";
    2771        for (int i = 0; i < nchans; ++i )
    2772   {     
    2773      //Solution
    2774      solutionID = ProtInfo.ProtSolutions.chsols[ i ].sol_id.toInt();
    2775      solution_auto.readFromDB(solutionID, &db);
     2773   {
     2774      qDebug() << "SOLUTION is READ in MWL mode !!! ";
     2775      for (int i = 0; i < nchans; ++i )
     2776      {   
     2777         //Solution
     2778   solutionID = ProtInfo.ProtSolutions.chsols[ i ].sol_id.toInt();
     2779   solution_auto.readFromDB(solutionID, &db);
    27762780
    27772781     qDebug() << "SOLS 0";
    2778      
     2782
    27792783     out_chaninfo[ i ].solution = solution_auto;
    27802784
    27812785     qDebug() << "SOLS 0a";
    2782 
    27832786     qDebug() << "out_chandatx[ i ] + cb_lambplot->currentIndex() " <<  out_chandatx[ i ] << " + " <<  cb_lambplot->currentIndex() << out_chandatx[ i ] + cb_lambplot->currentIndex();
    27842787     
    27852788     //out_tripinfo[ out_chandatx[ i ] + cb_lambplot->currentIndex() ].solution = solution_auto; // ALEXEY <-- BUG
    2786 
    27872789     qDebug() << "SOLS 1";
    27882790     
     
    33773379   }
    33783380
     3381DbgLv(1) << "CGui:ldDk:isMwl" << isMwl;
    33793382   if ( isMwl )
    33803383   {  // If need be, load MWL data object
    33813384      mwl_data.load_mwl( allData );
    33823385
     3386DbgLv(1) << "CGui:ldDk: mwlsetup";
    33833387      mwl_setup();
    33843388   }
     
    40854089         mwl_connect( true );
    40864090      }
     4091
     4092//      slambdas_per_channel.resize( nchans );
     4093//      elambdas_per_channel.resize( nchans );
    40874094
    40884095      for ( int ccx = 0; ccx < nchans; ccx++ )
     
    40984105                           + QString( " / %1-%2 (%3)" )
    40994106                           .arg( slambda ).arg( elambda ).arg( nlambda ) );
    4100       }
     4107//         slambdas_per_channel[ccx]  = slambda;
     4108//         elambdas_per_channel[ccx]  = elambda;
     4109      }
     4110DbgLv(1) << " sTi: slams_ch:" << slambdas_per_channel;
     4111DbgLv(1) << " sTi: elams_ch:" << elambdas_per_channel;
    41014112
    41024113      // Get wavelengths for the currently selected cell/channel
     
    64406451void US_ConvertGui::lambdaStartChanged( int value )
    64416452{
     6453   int slambda_lambplot;
    64426454DbgLv(1) << "lambdaStartChanged" << value;
    64436455
    64446456   //ALEXEY: compare slambda to the cb_lambplot->index(0).value: if <, setCurrentIndex() to index corresponding to this upper value
    6445    tripListx          = lw_triple->currentRow();
    6446    int slambda_lambplot = slambdas_per_channel[tripListx];
    6447    
    6448    slambda       = cb_lambstrt->itemText( value ).toInt();
    6449    elambda       = cb_lambstop->currentText()    .toInt();
    6450 
    6451    qDebug() << "LAMBDA_STR_CHANGE: slambda_lambplot, slambda: " << slambda_lambplot << ", " << slambda;
     6457   tripListx     = lw_triple->currentRow();
     6458   slambda       = cb_lambstrt->currentText().toInt();
     6459   elambda       = cb_lambstop->currentText().toInt();
     6460   tripListx     = lw_triple->currentRow();
     6461   if ( tripListx < slambdas_per_channel.size() )
     6462      slambda_lambplot  = slambdas_per_channel[ tripListx ];
     6463   else
     6464      slambda_lambplot  = slambda;
     6465
     6466DbgLv(1) << "lStChg: LAMBDA_STR_CHANGE: slambda_lambplot, slambda: " << slambda_lambplot << ", " << slambda;
    64526467
    64536468   if ( slambda < slambda_lambplot )
    64546469   //if ( slambda < 280 )
    6455      {
     6470   {
    64566471       int index_lambstrt = cb_lambstrt->findText( QString::number(slambda_lambplot) );
    64576472
    6458        qDebug() << "LAMBDA_STR_CHANGE: index_lambstrt " << index_lambstrt;
     6473DbgLv(1) << "lStChg: LAMBDA_STR_CHANGE: index_lambstrt " << index_lambstrt;
    64596474       slambda = slambda_lambplot;
    64606475
     
    64646479          this,         SLOT  ( lambdaStartChanged ( int    ) ) );
    64656480   
    6466      }
    6467 
    6468    //slambda       = cb_lambstrt->itemText( value ).toInt();
    6469    //elambda       = cb_lambstop->currentText()    .toInt();
    6470    //tripListx     = lw_triple->currentRow();
    6471    /***************************************************************************************************/
     6481   }
    64726482   
    64736483   int currChan  = out_chaninfo[ tripListx ].channelID;
    6474 DbgLv(1) << "lambdaStartChanged" << value << "sl el tLx cCh"
     6484DbgLv(1) << "lStChg: lambdaStartChanged" << value << "sl el tLx cCh"
    64756485 << slambda << elambda << tripListx << currChan;
    64766486
     
    64956505void US_ConvertGui::lambdaEndChanged( int value )
    64966506{
    6497 DbgLv(1) << "lambdaEndChanged" << value;
     6507   int elambda_lambplot;
     6508DbgLv(1) << "lEnChg:  lambdaEndChanged" << value;
    64986509
    64996510     //ALEXEY: compare slambda to the cb_lambplot->index(0).value: if <, setCurrentIndex() to index corresponding to this upper value
    6500    tripListx            = lw_triple->currentRow();
    6501    int elambda_lambplot = elambdas_per_channel[tripListx];
    6502    
    6503    elambda       = cb_lambstop->itemText( value ).toInt();
    6504    slambda       = cb_lambstrt->currentText()    .toInt();
    6505 
    6506    qDebug() << "LAMBDA_STOP_CHANGE: elambda_lambplot, elambda: " << elambda_lambplot << ", " << elambda;
     6511   slambda       = cb_lambstrt->currentText().toInt();
     6512   elambda       = cb_lambstop->currentText().toInt();
     6513   tripListx     = lw_triple->currentRow();
     6514DbgLv(1) << "lEnChg:  trLx" << tripListx << "elch size" << elambdas_per_channel.size();
     6515DbgLv(1) << "lEnChg:   elams_ch:" << elambdas_per_channel;
     6516   if ( tripListx < elambdas_per_channel.size() )
     6517      elambda_lambplot  = elambdas_per_channel[ tripListx ];
     6518   else
     6519      elambda_lambplot  = elambda;
     6520
     6521DbgLv(1) << "lEnChg: LAMBDA_STOP_CHANGE: elambda_lambplot, elambda: " << elambda_lambplot << ", " << elambda;
    65076522
    65086523   if ( elambda > elambda_lambplot )
    6509      {
    6510        int index_lambstop = cb_lambstop->findText( QString::number(elambda_lambplot) );
    6511 
    6512        qDebug() << "LAMBDA_STOP_CHANGE: index_lambstrt " << index_lambstop;
     6524   {
     6525       int index_lambstop = cb_lambstop->findText( QString::number( elambda_lambplot ) );
     6526
     6527DbgLv(1) << "lEnChg: LAMBDA_STOP_CHANGE:  index_lambstop " << index_lambstop;
    65136528       elambda = elambda_lambplot;
    65146529
     
    65176532       connect( cb_lambstop,  SIGNAL( currentIndexChanged( int    ) ),
    65186533          this,         SLOT  ( lambdaEndChanged ( int    ) ) );
    6519    
    6520      }
    6521 
    6522    //slambda       = cb_lambstrt->itemText( value ).toInt();
    6523    //elambda       = cb_lambstop->currentText()    .toInt();
    6524    //tripListx     = lw_triple->currentRow();
    6525    /***************************************************************************************************/
    6526  
    6527 
     6534   }
    65286535
    65296536   int currChan  = out_chaninfo[ tripListx ].channelID;
     
    66106617      int tripx2     = out_chandatx[ tripnext  ];
    66116618      tripDatax      = tripx1 + cb_lambplot->currentIndex();
    6612 
    6613       qDebug() << "TRIPLE_Index(): "
    6614          << "tripnext = " << tripnext
    6615          << ", tripx1 = " << tripx1
    6616          << ", tripx2 = " << tripx2
    6617          << ", tripDatax = tripx1 + cb_lambplot->currentIndex(): " << tripx1 << " + " << cb_lambplot->currentIndex();
    6618 
     6619DbgLv(1) << "TRIPLE_Index(): "
     6620 << "tripnext = " << tripnext
     6621 << ", tripx1 = " << tripx1
     6622 << ", tripx2 = " << tripx2
     6623 << ", tripDatax = tripx1 + cb_lambplot->currentIndex(): " << tripx1 << " + " << cb_lambplot->currentIndex();
    66196624
    66206625      //ALEXEY: the following part is buggy: commented out for now - seems to help with plotting/selecting triples for non-first channel for MWL case
    66216626      //Ask Gary (if this section in place, it causes incorrect placement of cb_lambplot indexes, so no plots generated...)
    6622       /*
     6627#if 0
    66236628      if ( tripDatax >= tripx2 )
    66246629      {  // Less wavelengths in this channel than in the previous one
    66256630         tripDatax      = ( tripx1 + tripx2 ) / 2;
    66266631         mwl_connect( false );
     6632DbgLv(1) << "Inside triple_index(): cb_lambplot->currentIndex() = " << cb_lambplot->currentIndex();
    66276633         cb_lambplot->setCurrentIndex( ( tripDatax - tripx1 ) );
    6628 
    6629 
    6630          qDebug() << "Inside triple_index(): cb_lambplot->currentIndex() = " << cb_lambplot->currentIndex();
    66316634     
    66326635         mwl_connect( true  );
    66336636      }
    6634       */
    6635      
    6636       qDebug() << "Inside triple_index(): cb_lambplot->currentIndex() = " << cb_lambplot->currentIndex();
    6637      
     6637#endif
     6638DbgLv(1) << "Inside triple_index(): cb_lambplot->currentIndex() = " << cb_lambplot->currentIndex();
    66386639   }
    66396640
     
    68526853   nlambda         = mwl_data.lambdas( exp_lambdas );
    68536854   cb_lambplot->clear();
     6855DbgLv(1) << "MwlSet: nlambda nlamb_i" << nlambda << nlamb_i;
    68546856
    68556857   for ( int ii = 0; ii < nlambda; ii++ )
     
    68576859      QString clamb = QString::number( exp_lambdas[ ii ] );
    68586860      cb_lambplot->addItem( clamb );
    6859 
    6860       qDebug() << "MWL_SETUP: exp_lambda " << ii << ", " << clamb;
     6861DbgLv(1) << "MwlSet: exp_lambda " << ii << ", " << clamb;
    68616862   }
    68626863
     
    68766877   
    68776878   for ( int ccx = 0; ccx < nchans_int; ccx++ )
    6878      { 
    6879        int nlambda_per_channel        = mwl_data.lambdas( exp_lambdas, ccx );
    6880        if ( nlambda_per_channel  < 1 )
    6881          {
    6882      break;
    6883          }
    6884        slambdas_per_channel[ccx]    = exp_lambdas[ 0 ];
    6885        elambdas_per_channel[ccx]    = exp_lambdas[ nlambda_per_channel - 1 ];
    6886      }
     6879   {
     6880      int nlambda_per_channel    = mwl_data.lambdas( exp_lambdas, ccx );
     6881DbgLv(1) << "MwlSet:   ccx" << ccx << "nlam/ch" << nlambda_per_channel;
     6882      if ( nlambda_per_channel  < 1 )
     6883      {
     6884         break;
     6885      }
     6886      slambdas_per_channel[ccx]  = exp_lambdas[ 0 ];
     6887      elambdas_per_channel[ccx]  = exp_lambdas[ nlambda_per_channel - 1 ];
     6888   }
    68876889   /****************************************************************************************************/
     6890DbgLv(1) << "MwlSet: slams_ch:" << slambdas_per_channel;
     6891DbgLv(1) << "MwlSet: elams_ch:" << elambdas_per_channel;
    68886892   
    68896893
     
    71247128      US_Convert::TripleInfo* tripinfo = &all_tripinfo[ trx ];
    71257129
    7126       if ( tripinfo->excluded )  continue;
     7130      if ( tripinfo->excluded )
     7131      {
     7132DbgLv(1) << "CGui: BOD:  trx" << trx << "EXCLUDED";
     7133         continue;
     7134      }
    71277135
    71287136      outData      << &allData[ trx ];
  • trunk/programs/us_convert/us_convertio.cpp

    r2785 r2833  
    379379      return( "Unspecified error writing xml file." );
    380380
     381   // Download time state if need be
     382   bool needTmst  = false;
     383   int tmstID     = 0;
     384   int expID      = ExpData.expID;
     385   QString tfname = runID + ".time_state.tmst";
     386   QString xdefs;
     387   QString cksumd;
     388   QDateTime datedt;
     389   US_TimeState::dbExamine( db, &tmstID, &expID, &tfname,
     390                            &xdefs, &cksumd, &datedt );
     391qDebug() << "rDBE: expID tmstID tfname cksumd datedt"
     392 << expID << tmstID << tfname << cksumd << datedt;
     393   if ( tmstID > 0 )
     394   {  // There is a time state in the database:  look at local disk
     395      QString tfpath = dir + "/" + tfname;
     396qDebug() << "rDBE:  HAVE tmst DB: tfpath" << tfpath;
     397      if ( QFile( tfpath ).exists() )
     398      {  // File exists, so check if it matches DB
     399         QString cksumf   = US_Util::md5sum_file( tfpath );
     400qDebug() << "rDBE:  HAVE tmst Loc: cksumf" << cksumf;
     401         if ( cksumf != cksumd )
     402         {  // DB/Local do not match, so overwrite local with download
     403            needTmst       = true;
     404         }
     405      }
     406      else
     407      {  // No local tmst exists, do need to download it
     408         needTmst       = true;
     409      }
     410
     411qDebug() << "rDBE:  needTmst" << needTmst;
     412      if ( needTmst )
     413      {  // Download the .tmst file
     414         US_TimeState::dbDownload( db, tmstID, tfpath );
     415         // And write the xdefs sibling file
     416         QString xfpath = QString( tfpath ).replace( ".tmst", ".xml" );
     417qDebug() << "rDBE:   xfpath" << xfpath;
     418         QFile fileo( xfpath );
     419         if ( fileo.open( QIODevice::WriteOnly | QIODevice::Text ) )
     420         {
     421            QTextStream tso( &fileo );
     422            tso << xdefs;
     423            tso.flush();
     424            fileo.close();
     425qDebug() << "rDBE:    xdefs WRITTEN";
     426         }
     427      }
     428   }
    381429   return( QString( "" ) );
    382430}
  • trunk/programs/us_xpn_viewer/us_xpn_run_auc.cpp

    r2213 r2833  
    100100      if ( ! dfile.exists()  ||
    101101           ! dfile.open( QIODevice::ReadOnly ) )
     102      {
     103qDebug() << "LdDk:    dfname -- NOT exists/opened" << dpath;
    102104         continue;  // Skip if TMST def file does not exist or can't be opened
     105      }
    103106qDebug() << "LdDk:    dfname -- exists/opened";
    104107
     
    112115      if ( ! xmli.contains( pmatch )  &&
    113116           ! xmli.contains( pmatch2 ) )
     117      {
    114118         continue;  // Skip if TMST def has no import_type="Optima"
     119qDebug() << "LdDk:      *SKIP* non-Optima";
     120      }
    115121
    116122
     
    121127      rr.date        = date;
    122128      rr.ntriple     = nfiles;
    123 //qDebug() << "LdDk:   ii" << ii << "     runID date count"
    124 // << rr.runID << rr.date << rr.nfiles;
     129qDebug() << "LdDk:   ii" << ii << "     runID date count"
     130 << rr.runID << rr.date << rr.ntriple;
    125131
    126132      runInfo << rr;
  • trunk/programs/us_xpn_viewer/us_xpn_viewer_gui.cpp

    r2827 r2833  
    23442344//    if ( lddiag->exec() == QDialog::Rejected )                    //ALEXEY need drDesc but do NOT need dialog
    23452345//    {
    2346 // DbgLv(1) << "RDr:  rtn fr XpnRunRaw dialog: CANCEL";
     2346// DbgLv(1) << "RDa:  rtn fr XpnRunRaw dialog: CANCEL";
    23472347//       return;
    23482348//    }
     
    23502350//    // Restore area beneath dialog
    23512351//    qApp->processEvents();
    2352 // DbgLv(1) << "RDr:  rtn fr XpnRunRaw dialog";
    2353 // DbgLv(1) << "RDr:   drDesc" << drDesc;
     2352// DbgLv(1) << "RDa:  rtn fr XpnRunRaw dialog";
     2353// DbgLv(1) << "RDa:   drDesc" << drDesc;
    23542354
    23552355   // See if we need to fix the runID
     
    24122412   scanmask          += QString( sMasks ).mid( 4, 1 ) == "1" ? 4 : 0;
    24132413   scanmask          += QString( sMasks ).mid( 6, 1 ) == "1" ? 8 : 0;
    2414 DbgLv(1) << "RDr:     iRId" << iRunId << "sMsks scnmask" << sMasks << scanmask;
    2415 
    2416  qDebug() << "RDr:     iRId" << iRunId << "sMsks scnmask" << sMasks << scanmask;
     2414DbgLv(1) << "RDa:     iRId" << iRunId << "sMsks scnmask" << sMasks << scanmask;
    24172415
    24182416 //ALEXEY: maybe put in_reload_check_sysdata = true; and then false (after xpn_data->import_data( iRunId, scanmask ); )
    24192417 //in_reload_check_sysdata = true; //ALEXEY
    2420  xpn_data->import_data( iRunId, scanmask );                               // ALEXEY <-- actual data retreiving
     2418
     2419   xpn_data->import_data( iRunId, scanmask );                               // ALEXEY <-- actual data retreiving
     2420
    24212421   int ntsrows        = xpn_data->countOf( "scan_rows" );
    2422 DbgLv(1) << "RDr:     ntsrows" << ntsrows;
    2423 DbgLv(1) << "RDr:      knt(triple)   " << xpn_data->countOf( "triple"    );
     2422DbgLv(1) << "RDa:     ntsrows" << ntsrows;
     2423DbgLv(1) << "RDa:      knt(triple)   " << xpn_data->countOf( "triple"    );
    24242424 qApp->processEvents();
    24252425
     
    24752475      drtype2            = ( runType2 == "FI" ) ? "Fluorescence" : drtype2;
    24762476      drtype2            = ( runType2 == "WI" ) ? "Wavelength"   : drtype2;
    2477       opsys << drtype1 << drtype2;
    2478 
    24792477      QString msg        = tr( "Multiple scan data types are present:\n" )
    24802478                           +   "'" + drtype1 + "'\n or \n"
    2481                            +   "'" + drtype2 + "' .\n\n"
    2482                            + tr( "Choose one for initial display." );
    2483       QMessageBox mbox;
    2484       mbox.setWindowTitle( tr( "Scan Data Type to Process" ) );
    2485       mbox.setText( msg );
    2486       QPushButton* pb_opt1 = mbox.addButton( drtype1, QMessageBox::AcceptRole );
    2487       QPushButton* pb_opt2 = mbox.addButton( drtype2, QMessageBox::RejectRole );
    2488       mbox.setEscapeButton ( pb_opt2 );
    2489       mbox.setDefaultButton( pb_opt1 );
    2490 
    2491       mbox.exec();
    2492       if ( mbox.clickedButton() == pb_opt2 )
     2479                           +   "'" + drtype2 + "' .\n";
     2480DbgLv(1) << "RDa:   runType2 scanmask" << runType2 << scanmask << "[ifw]scn_rows"
     2481 << xpn_data->countOf( "iscn_rows" )
     2482 << xpn_data->countOf( "fscn_rows" )
     2483 << xpn_data->countOf( "wscn_rows" );
     2484      if ( ( runType2 == "IP"  &&  xpn_data->countOf( "iscn_rows" ) == 0 )  ||
     2485           ( runType2 == "FI"  &&  xpn_data->countOf( "fscn_rows" ) == 0 )  ||
     2486           ( runType2 == "WI"  &&  xpn_data->countOf( "wscn_rows" ) == 0 ) )
    24932487      {
    2494          runType            = runType2;
    2495          optndx             = 1;
     2488         msg               += tr( "\nScans are missing so only " ) + drtype1
     2489                              + tr( " scans are processed." );
     2490         QMessageBox::warning( this,
     2491               tr( "Multiple Types with Missing Scans" ),
     2492               msg );
    24962493      }
     2494
     2495      else
     2496      {
     2497         opsys << drtype1 << drtype2;
     2498         msg               += tr( "\nChoose one for initial display." );
     2499         QMessageBox mbox;
     2500         mbox.setWindowTitle( tr( "Scan Data Type to Process" ) );
     2501         mbox.setText( msg );
     2502         QPushButton* pb_opt1 = mbox.addButton( drtype1, QMessageBox::AcceptRole );
     2503         QPushButton* pb_opt2 = mbox.addButton( drtype2, QMessageBox::RejectRole );
     2504         mbox.setEscapeButton ( pb_opt2 );
     2505         mbox.setDefaultButton( pb_opt1 );
     2506
     2507         mbox.exec();
     2508         if ( mbox.clickedButton() == pb_opt2 )
     2509         {
     2510            runType            = runType2;
     2511            optndx             = 1;
     2512DbgLv(1) << "RDa:   runType2 scanmask" << runType2 << scanmask << "[ifw]scn_rows"
     2513 << xpn_data->countOf( "iscn_rows" )
     2514 << xpn_data->countOf( "fscn_rows" )
     2515 << xpn_data->countOf( "wscn_rows" );
     2516         }
     2517      }
    24972518   }
    24982519
    24992520   qApp->processEvents();  //ALEXEY: maybe this will help
    2500    
    2501    qDebug() << "1. Crashes HERE!!!!";
     2521DbgLv(1) << "RDa: 1. Crashes HERE!!!!";
    25022522     
    25032523   cb_optsys->disconnect();
    25042524   cb_optsys->clear();
    2505 
    2506    qDebug() << "1a. Crashes HERE!!!!";
     2525DbgLv(1) << "RDa: 1a. Crashes HERE!!!!";
    25072526   
    25082527   cb_optsys->addItems( opsys );                                  // ALEXEY fill out Optics listbox
    2509 
    2510    qDebug() << "1ab. Crashes HERE!!!! - BEFORE Setting index to cb_optsys";
     2528DbgLv(1) << "RDa: 1ab. Crashes HERE!!!! - BEFORE Setting index to cb_optsys";
    25112529   cb_optsys->setCurrentIndex( optndx );
    2512    qDebug() << "1ac. Crashes HERE!!!! - AFTER Setting index to cb_optsys";
     2530DbgLv(1) << "RDa: 1ac. Crashes HERE!!!! - AFTER Setting index to cb_optsys";
    25132531   
    25142532   connect( cb_optsys,    SIGNAL( currentIndexChanged( int ) ),
    25152533            this,         SLOT  ( changeOptics( )            ) );
    2516 
    2517    qDebug() << "1b. Crashes HERE!!!!";
     2534DbgLv(1) << "RDa: 1b. Crashes HERE!!!!";
    25182535   
    25192536   runID         = new_runID;
    2520 DbgLv(1) << "RDr:  runID" << runID << "runType" << runType;
     2537DbgLv(1) << "RDa:  runID" << runID << "runType" << runType;
    25212538   xpn_data->set_run_values( runID, runType );                    // ALEXEY
    2522 
    2523    qDebug() << "2. Crashes HERE!!!! (after xpn_data->set_run_values( runID, runType ) )";
     2539DbgLv(1) << "RDa: 2. Crashes HERE!!!! (after xpn_data->set_run_values( runID, runType ) )";
    25242540
    25252541   // Build the AUC equivalent
     
    25292545
    25302546   xpn_data->build_rawData( allData );                            // ALEXEY Builds Raw Data
    2531 
    2532    qDebug() << "3. Crashes HERE!!!! (after  xpn_data->build_rawData( allData ))";
     2547DbgLv(1) << "RDa: 3. Crashes HERE!!!! (after  xpn_data->build_rawData( allData ))";
    25332548   
    25342549double tm2=(double)sttime.msecsTo(QDateTime::currentDateTime())/1000.0;
    2535 DbgLv(1) << "RDr:      build-raw done: tm1 tm2" << tm1 << tm2;
     2550DbgLv(1) << "RDa:      build-raw done: tm1 tm2" << tm1 << tm2;
    25362551
    25372552   QApplication::restoreOverrideCursor();
     
    25452560   npoint        = allData[ 0 ].pointCount();
    25462561
    2547 DbgLv(1) << "RDr: mwr ntriple" << ntriple;
    2548 DbgLv(1) << "RDr: ncellch" << ncellch << cellchans.count();
    2549 DbgLv(1) << "RDr: nscan" << nscan << "npoint" << npoint;
    2550 DbgLv(1) << "RDr:   rvS rvE" << r_radii[0] << r_radii[npoint-1];
     2562DbgLv(1) << "RDa: mwr ntriple" << ntriple;
     2563DbgLv(1) << "RDa: ncellch" << ncellch << cellchans.count();
     2564DbgLv(1) << "RDa: nscan" << nscan << "npoint" << npoint;
     2565DbgLv(1) << "RDa:   rvS rvE" << r_radii[0] << r_radii[npoint-1];
    25512566   cb_cellchn->disconnect();                                     
    25522567   cb_cellchn->clear();
     
    25612576   ntriple      = nlambda * ncellch;  // Number triples
    25622577   ntpoint      = npoint  * nscan;    // Number radius points per triple
    2563 DbgLv(1) << "RDr: nwl wvlo wvhi" << nlambda << wvlo << wvhi
     2578DbgLv(1) << "RDa: nwl wvlo wvhi" << nlambda << wvlo << wvhi
    25642579   << "ncellch" << ncellch << "nlambda" << nlambda << "ntriple" << ntriple;
    25652580   triples.clear();
     
    25752590#if 1
    25762591   ntriple      = xpn_data->data_triples( triples );              // ALEXEY triples
    2577 DbgLv(1) << "RDr: nwl wvlo wvhi" << nlambda << wvlo << wvhi
     2592DbgLv(1) << "RDa: nwl wvlo wvhi" << nlambda << wvlo << wvhi
    25782593   << "ncellch" << ncellch << "nlambda" << nlambda << "ntriple" << ntriple
    25792594   << triples.count();
    25802595
    2581  qDebug() << "RDr: nwl wvlo wvhi" << nlambda << wvlo << wvhi
     2596 qDebug() << "RDa: nwl wvlo wvhi" << nlambda << wvlo << wvhi
    25822597   << "ncellch" << ncellch << "nlambda" << nlambda << "ntriple" << ntriple
    25832598   << triples.count();
    25842599#endif
    25852600
    2586 DbgLv(1) << "RDr: allData size" << allData.size();
    2587 
    2588  qDebug() << "RDr: allData size" << allData.size();
     2601DbgLv(1) << "RDa: allData size" << allData.size();
     2602
     2603 qDebug() << "RDa: allData size" << allData.size();
    25892604
    25902605 //QApplication::restoreOverrideCursor();
     
    27502765DbgLv(1) << "RDr:     iRId" << iRunId << "sMsks scnmask" << sMasks << scanmask;
    27512766
    2752  xpn_data->import_data( iRunId, scanmask );                             
     2767   xpn_data->import_data( iRunId, scanmask );                             
     2768
    27532769   int ntsrows        = xpn_data->countOf( "scan_rows" );
    27542770DbgLv(1) << "RDr:     ntsrows" << ntsrows;
    27552771DbgLv(1) << "RDr:      knt(triple)   " << xpn_data->countOf( "triple"    );
    2756 
    27572772
    27582773   if ( ntsrows < 1 )
     
    27742789   if ( scanmask == 1  ||  scanmask == 2  ||
    27752790        scanmask == 4  ||  scanmask == 8 )
    2776    {
     2791   {  // Single type of data present
    27772792      runType            = ( scanmask == 2 ) ? "FI" : runType;
    27782793      runType            = ( scanmask == 4 ) ? "IP" : runType;
     
    27892804
    27902805   else if ( ( scanmask & 1 ) != 0 )
    2791    {
     2806   {  // Multiple data types present
    27922807      QApplication::restoreOverrideCursor();
    27932808      QApplication::restoreOverrideCursor();
     
    28032818      drtype2            = ( runType2 == "FI" ) ? "Fluorescence" : drtype2;
    28042819      drtype2            = ( runType2 == "WI" ) ? "Wavelength"   : drtype2;
    2805       opsys << drtype1 << drtype2;
    2806 
    28072820      QString msg        = tr( "Multiple scan data types are present:\n" )
    28082821                           +   "'" + drtype1 + "'\n or \n"
    2809                            +   "'" + drtype2 + "' .\n\n"
    2810                            + tr( "Choose one for initial display." );
    2811       QMessageBox mbox;
    2812       mbox.setWindowTitle( tr( "Scan Data Type to Process" ) );
    2813       mbox.setText( msg );
    2814       QPushButton* pb_opt1 = mbox.addButton( drtype1, QMessageBox::AcceptRole );
    2815       QPushButton* pb_opt2 = mbox.addButton( drtype2, QMessageBox::RejectRole );
    2816       mbox.setEscapeButton ( pb_opt2 );
    2817       mbox.setDefaultButton( pb_opt1 );
    2818 
    2819       mbox.exec();
    2820       if ( mbox.clickedButton() == pb_opt2 )
     2822                           +   "'" + drtype2 + "' .\n";
     2823DbgLv(1) << "RDr:   runType2 scanmask" << runType2 << scanmask << "[ifw]scn_rows"
     2824 << xpn_data->countOf( "iscn_rows" )
     2825 << xpn_data->countOf( "fscn_rows" )
     2826 << xpn_data->countOf( "wscn_rows" );
     2827      if ( ( runType2 == "IP"  &&  xpn_data->countOf( "iscn_rows" ) == 0 )  ||
     2828           ( runType2 == "FI"  &&  xpn_data->countOf( "fscn_rows" ) == 0 )  ||
     2829           ( runType2 == "WI"  &&  xpn_data->countOf( "wscn_rows" ) == 0 ) )
    28212830      {
    2822          runType            = runType2;
    2823          optndx             = 1;
     2831         msg               += tr( "\nScans are missing so only " ) + drtype1
     2832                              + tr( " scans are processed." );
     2833         QMessageBox::warning( this,
     2834               tr( "Multiple Types with Missing Scans" ),
     2835               msg );
     2836      }
     2837
     2838      else
     2839      {
     2840         opsys << drtype1 << drtype2;
     2841         msg               += tr( "\nChoose one for initial display." );
     2842         QMessageBox mbox;
     2843         mbox.setWindowTitle( tr( "Scan Data Type to Process" ) );
     2844         mbox.setText( msg );
     2845         QPushButton* pb_opt1 = mbox.addButton( drtype1, QMessageBox::AcceptRole );
     2846         QPushButton* pb_opt2 = mbox.addButton( drtype2, QMessageBox::RejectRole );
     2847         mbox.setEscapeButton ( pb_opt2 );
     2848         mbox.setDefaultButton( pb_opt1 );
     2849
     2850         mbox.exec();
     2851         if ( mbox.clickedButton() == pb_opt2 )
     2852         {
     2853            runType            = runType2;
     2854            optndx             = 1;
     2855DbgLv(1) << "RDr:   runType2 scanmask" << runType2 << scanmask << "[ifw]scn_rows"
     2856 << xpn_data->countOf( "iscn_rows" )
     2857 << xpn_data->countOf( "fscn_rows" )
     2858 << xpn_data->countOf( "wscn_rows" );
     2859         }
    28242860      }
    28252861   }
  • trunk/utils/us_xpn_data.cpp

    r2799 r2833  
    554554   bool wscnf    = scanMask & 8;
    555555
    556    int arows     = 0;
    557    int frows     = 0;
    558    int irows     = 0;
    559    int wrows     = 0;
     556   arows         = 0;
     557   frows         = 0;
     558   irows         = 0;
     559   wrows         = 0;
    560560
    561561   // Scan and build data for System Status Data
     
    23072307   counts[ "scan_all"  ]  = ntscan;
    23082308   counts[ "scan_rows" ]  = ntsrow;
     2309   counts[ "ascn_rows" ]  = arows;
     2310   counts[ "fscn_rows" ]  = frows;
     2311   counts[ "iscn_rows" ]  = irows;
     2312   counts[ "wscn_rows" ]  = wrows;
    23092313
    23102314   counts[ "last_rpm"  ]  = qRound( isyrec.speed );
  • trunk/utils/us_xpn_data.h

    r2722 r2833  
    435435      int       ntscan;              //!< Total scans for all triples
    436436      int       ntsrow;              //!< Total (A+F+I+W) scan rows
     437      int       arows;               //!< A scan rows
     438      int       frows;               //!< F scan rows
     439      int       irows;               //!< I scan rows
     440      int       wrows;               //!< W scan rows
    437441     
    438442      int       etimoff;             //!< Experimental time offset
Note: See TracChangeset for help on using the changeset viewer.