| |
Discussion and Future Work
185
8.3.3 Energy Weights
·
It might be possible to estimate the energy weights automatically.
·
They could also (adaptively) be changed during the registration procedure.
8.4 Speed
Speed is not critical in this application. The program does not require user-input once the
automatic registration process has been started. Therefore, the user can do something else and
does not have to wait for the program to finish. Although there are no real-time requirements
for this application, the speed might still be increased. The following list gives some of the
possibilities.
·
Loops might be vectorized since MATLAB is slow when processing loops and fast
when dealing with matrix operations.
·
Especially time consuming functions, e.g., the matching procedure, could be imple-
mented (partly) in C++ instead of MATLAB.
·
Currently, the parameters (displacement values) for each control point are tested along
a line (line search). More efficient optimization techniques do exist. They should be
tried out. Tools from the MATLAB Optimization Toolbox might be useful.
·
The Nelder-Mead Simplex optimization algorithm might yield good results.
·
As written before, control points are tested one-by-one, i.e., test displacement values
are assigned to one control point, the atlas is deformed, and the energy is calculated for
each test value. This takes a long time. It might be possible to assign displacement val-
ues to all control points before warping. Then the estimation of the displacement fields
can be updated.
·
Deforming only a small region around the currently tested control point (region that
the control point influences) might speed up the program. In addition, the energy
would have to be calculated only for that region.
|  |
|
| |
|
|