Example #1
0
void ProjectionFinder::do_preprocess_subject(unsigned int i) {
  IMP_LOG_TERSE("ProjectionFinder: Preprocessing subject " << i << std::endl);

  if (params_.coarse_registration_method == ALIGN2D_PREPROCESSING) {
    cv::Mat autoc, polar_autoc;
    get_fft_using_optimal_size(subjects_[i]->get_data(), SUBJECTS_[i]);
    get_autocorrelation2d(subjects_[i]->get_data(), autoc);
    do_resample_polar(autoc, polar_autoc, polar_params_);
    get_fft_using_optimal_size(polar_autoc, SUBJECTS_POLAR_AUTOC_[i]);
  }
  if (params_.coarse_registration_method == ALIGN2D_WITH_CENTERS) {
    do_preprocess_for_fast_coarse_registration(
        subjects_[i]->get_data(), subjects_cog_[i], SUBJECTS_POLAR_AUTOC_[i]);
  }
}
Example #2
0
void ProjectionFinder::do_preprocess_projection(unsigned int j) {
  IMP_LOG_TERSE("ProjectionFinder: Preprocessing projection " << j
          << std::endl);
  // FFT PREPROCESSING
  if(params_.coarse_registration_method == ALIGN2D_PREPROCESSING) {
    cv::Mat autoc,polar_autoc;
    em2d::get_autocorrelation2d(projections_[j]->get_data(),autoc);
    em2d::do_resample_polar(autoc,polar_autoc,polar_params_);
    get_fft_using_optimal_size(polar_autoc,PROJECTIONS_POLAR_AUTOC_[j]);
  }
  // CENTERS OF GRAVITY AND ROTATIONAL FFT PREPROCESSING
  if(params_.coarse_registration_method == ALIGN2D_WITH_CENTERS) {
    do_preprocess_for_fast_coarse_registration(projections_[j]->get_data(),
                                           projections_cog_[j],
                                           SUBJECTS_POLAR_AUTOC_[j]);
  }
}