Subversion Repositories seema-scanner

Rev

Rev 227 | Rev 242 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 227 Rev 232
Line 231... Line 231...
231
    ui->captureRotationDial->setValue(angle);
231
    ui->captureRotationDial->setValue(angle);
232
}
232
}
233
 
233
 
234
void SMScanner::onReceiveCalibrationSet(SMCalibrationSet calibrationSet){
234
void SMScanner::onReceiveCalibrationSet(SMCalibrationSet calibrationSet){
235
 
235
 
236
    int id = ui->calibrationListWidget->count();
-
 
237
    calibrationSet.id = id;
-
 
238
 
-
 
239
    calibrationData.push_back(calibrationSet);
-
 
240
 
-
 
241
    // Add identifier to list
-
 
242
    QListWidgetItem* item = new QListWidgetItem(QString("Calibration Set %1 -- %2 deg").arg(id).arg(calibrationSet.rotationAngle), ui->calibrationListWidget);
-
 
243
    ui->calibrationListWidget->addItem(item);
-
 
244
    item->setSelected(true);
-
 
245
 
-
 
246
    // Send to checkerboard detection on calibration thread
236
    // Send to checkerboard detection on calibration thread
247
    QMetaObject::invokeMethod(calibrationWorker, "checkerboardDetection", Q_ARG(SMCalibrationSet, calibrationSet));
237
    QMetaObject::invokeMethod(calibrationWorker, "checkerboardDetection", Q_ARG(SMCalibrationSet, calibrationSet));
248
 
238
 
249
    // Enable calibration button
-
 
250
    if(calibrationData.size() >= 2){
-
 
251
        ui->calibrateCamerasButton->setEnabled(true);
-
 
252
        ui->calibrateRotationStageButton->setEnabled(true);
-
 
253
    }
-
 
254
}
239
}
255
 
240
 
256
void SMScanner::on_calibrateCamerasButton_clicked(){
241
void SMScanner::on_calibrateCamerasButton_clicked(){
257
 
242
 
258
    // disable ui elements
243
    // disable ui elements
Line 277... Line 262...
277
    // start calibration
262
    // start calibration
278
    QMetaObject::invokeMethod(calibrationWorker, "cameraCalibration", Q_ARG(std::vector<SMCalibrationSet>, calibrationData));
263
    QMetaObject::invokeMethod(calibrationWorker, "cameraCalibration", Q_ARG(std::vector<SMCalibrationSet>, calibrationData));
279
 
264
 
280
}
265
}
281
 
266
 
282
void SMScanner::onReceiveCheckerboardResult(int idx, SMCalibrationSet set){
267
void SMScanner::onReceiveCheckerboardResult(int idx, SMCalibrationSet calibrationSet){
283
 
268
 
-
 
269
    int id = ui->calibrationListWidget->count();
284
    calibrationData[idx] = set;
270
    calibrationSet.id = id;
285
 
271
 
-
 
272
    calibrationData.push_back(calibrationSet);
-
 
273
 
-
 
274
    // Add identifier to list
-
 
275
    QListWidgetItem* item = new QListWidgetItem(QString("Calibration Set %1 -- %2 deg").arg(id).arg(calibrationSet.rotationAngle), ui->calibrationListWidget);
-
 
276
    ui->calibrationListWidget->addItem(item);
-
 
277
    item->setSelected(true);
-
 
278
    ui->calibrationListWidget->setCurrentItem(item);
-
 
279
 
-
 
280
    // Enable calibration button
-
 
281
    if(calibrationData.size() >= 2){
-
 
282
        ui->calibrateCamerasButton->setEnabled(true);
-
 
283
        ui->calibrateRotationStageButton->setEnabled(true);
-
 
284
    }
-
 
285
 
286
    ui->calibrationListWidget->setCurrentRow(idx);
286
    //ui->calibrationListWidget->setCurrentRow(idx);
287
}
287
}
288
 
288
 
289
void SMScanner::onReceiveCalibrationDone(){
289
void SMScanner::onReceiveCalibrationDone(){
290
 
290
 
291
    std::cout << "Calibration done!" << std::endl;
291
    std::cout << "Calibration done!" << std::endl;
Line 320... Line 320...
320
    if(calibrationData[currentRow].frame1Result.empty())
320
    if(calibrationData[currentRow].frame1Result.empty())
321
        ui->calibrationCamera1Widget->showImageCV(calibrationData[currentRow].frame1);
321
        ui->calibrationCamera1Widget->showImageCV(calibrationData[currentRow].frame1);
322
    else
322
    else
323
        ui->calibrationCamera1Widget->showImageCV(calibrationData[currentRow].frame1Result);
323
        ui->calibrationCamera1Widget->showImageCV(calibrationData[currentRow].frame1Result);
324
 
324
 
325
//     std::cout << "on_calibrationListWidget_itemSelectionChanged" << std::endl;
-
 
326
}
325
}
327
 
326
 
328
void SMScanner::on_captureRotationDial_sliderReleased(){
327
void SMScanner::on_captureRotationDial_sliderReleased(){
329
 
328
 
330
    float angle = ui->captureRotationDial->value();
329
    float angle = ui->captureRotationDial->value();
Line 916... Line 915...
916
    if(index==1){
915
    if(index==1){
917
        ui->captureCamera0Widget->fitImage();
916
        ui->captureCamera0Widget->fitImage();
918
        ui->captureCamera1Widget->fitImage();
917
        ui->captureCamera1Widget->fitImage();
919
    }
918
    }
920
}
919
}
-
 
920
 
-
 
921
void SMScanner::on_calibrationListWidget_currentRowChanged(int currentRow)
-
 
922
{
-
 
923
    std::cout << "Current row: " << currentRow << std::endl;
-
 
924
    on_calibrationListWidget_itemSelectionChanged();
-
 
925
}