|
@@ -15,6 +15,7 @@ typedef struct {
|
|
|
gdouble psi;
|
|
|
gdouble px;
|
|
|
gdouble py;
|
|
|
+ gdouble px_variation;
|
|
|
gdouble v_origin[3];
|
|
|
guint v_size[3];
|
|
|
} Params;
|
|
@@ -171,8 +172,8 @@ run_reconstruction (Params *params)
|
|
|
angle_step = (G_PI * 2.0) / params->num_radios;
|
|
|
theta_rad = params->theta / 360. * G_PI * 2;
|
|
|
|
|
|
- info ("Axis: x=%.1f y=%.1f\n",
|
|
|
- params->px, params->py);
|
|
|
+ info ("Axis: x=%.1f y=%.1f variation=%.1f\n",
|
|
|
+ params->px, params->py, params->px_variation);
|
|
|
|
|
|
info ("Lamino: theta=%.3f tau=%.3f step=%.5f fwidth=%d\n",
|
|
|
theta_rad, params->tau, angle_step, fwidth);
|
|
@@ -204,6 +205,7 @@ run_reconstruction (Params *params)
|
|
|
"psi", params->psi,
|
|
|
"proj-ox", params->px,
|
|
|
"proj-oy", params->py,
|
|
|
+ "proj-ox-variation", params->px_variation,
|
|
|
"vol-ox", params->v_size[0] / 2 + params->v_origin[0],
|
|
|
"vol-oy", params->v_size[1] / 2 + params->v_origin[1],
|
|
|
"vol-oz", params->v_size[2] / 2 + params->v_origin[2],
|
|
@@ -291,6 +293,7 @@ parse_params (Params *params, int argc, char **argv)
|
|
|
{ "psi", 0, 0, G_OPTION_ARG_DOUBLE, ¶ms->psi, "Misalignment (psi)", "" },
|
|
|
{ "px", 0, 0, G_OPTION_ARG_DOUBLE, ¶ms->px, "X coordinate of axis", "" },
|
|
|
{ "py", 0, 0, G_OPTION_ARG_DOUBLE, ¶ms->py, "Y coordinate of axis", "" },
|
|
|
+ { "px-variation", 0, 0, G_OPTION_ARG_DOUBLE, ¶ms->px_variation, "X axis variation", "" },
|
|
|
{ "vx", 0, 0, G_OPTION_ARG_DOUBLE, ¶ms->v_origin[0], "X coordinate of box origin", "" },
|
|
|
{ "vy", 0, 0, G_OPTION_ARG_DOUBLE, ¶ms->v_origin[1], "Y coordinate of box origin", "" },
|
|
|
{ "vz", 0, 0, G_OPTION_ARG_DOUBLE, ¶ms->v_origin[2], "Z coordinate of box origin", "" },
|
|
@@ -337,6 +340,7 @@ main (int argc, char **argv)
|
|
|
.psi = 0.0,
|
|
|
.px = G_MAXDOUBLE,
|
|
|
.py = G_MAXDOUBLE,
|
|
|
+ .px_variation = 0.0,
|
|
|
.v_size = {256, 256, 256},
|
|
|
.v_origin = {0.0, 0.0, 0.0},
|
|
|
};
|