Restructure priorWeight_QGGMRF/priorWeight_proxMap flags.

Created by: dyang37

Currently in C code we have two flags to control whether recon() function is in qGGMRF mode or proximal map mode: In struct ReconParams:

float priorWeight_QGGMRF;       /* Prior mode: (-1: QGGMRF mode off; 1: QGGMRF mode on) */
float priorWeight_proxMap;      /* Prior mode: (-1: prox mode off; 1: prox mode on) */

There are three issues related to this:

  1. These flags need to be changed to int or bool instead of float.
  2. If it should be the case that only one of qGGMRF or prox modes may be turned on at the same time, then we may merge two flags into one bool flag.
  3. When calculating theta_1 and theta_2 values in ICD update, we have the update code as follows:
float theta1, theta2;
theta1 = icdInfo->theta1_f + reconParams->priorWeight_QGGMRF*icdInfo->theta1_p_QGGMRF + reconParams->priorWeight_proxMap*icdInfo->theta1_p_proxMap;
theta2 = icdInfo->theta2_f + reconParams->priorWeight_QGGMRF*icdInfo->theta2_p_QGGMRF + reconParams->priorWeight_proxMap*icdInfo->theta2_p_proxMap;

If we follow the definition that theta1_p_QGGMRF and priorWeight_proxMap is either -1 or 1, then this could be wrong since both qGGMRF and proxMap prior weights are added to theta values.