Menu

SVN archive Commit Log


Commit Date  
[r24704] by bugman

Removed merge tracking for "svnmerge" for
svn+ssh://bugman@.../svn/relax/branches/zooming_grid_search

2014-07-24 11:26:37 Tree
[r24703] by bugman

Merged revisions 24542,24545-24548,24552-24559,24564-24584,24587-24595,24597-24611,24616-24618,24640,24649,24671,24674-24678,24680-24683,24688-24701 via svnmerge from
svn+ssh://bugman@.../svn/relax/branches/zooming_grid_search

........
r24542 | bugman | 2014-07-16 17:35:02 +0200 (Wed, 16 Jul 2014) | 7 lines

Added a new set of icons for use with the minimisation user functions.

These are of the Rosenbrock function and are much better suited for small icons than the current
OpenDX 3D isosurface plots. The matplotlib figure originates from public domain code at
http://commons.wikimedia.org/wiki/File:Rosenbrock_function.svg.
........
r24545 | bugman | 2014-07-16 20:57:03 +0200 (Wed, 16 Jul 2014) | 12 lines

Redesign of the optimisation user functions calculate, grid_search, and minimise.

In preparation for expanding the number of optimisation user functions, these three current user
functions have been shifted into the new minimise user function class. The calculate user function
is now accessed as minimise.calculate. The grid search as minimise.grid_search. And minimisation
is via the minimise.execute user function. The icon used for the new user function class is the
Rosenbrock function or the banana optimisation problem.

As this is such a radical change, a huge number of changes in the relax source code, the sample
scripts, the user manual, and the test suite were required.
........
r24546 | bugman | 2014-07-17 14:27:50 +0200 (Thu, 17 Jul 2014) | 6 lines

Created the new minimise.grid_zoom user function.

This allows the grid zoom level to be set. The value is stored in the current data pipe and will be
used later by the minimise.grid_search user function.
........
r24547 | bugman | 2014-07-17 14:36:15 +0200 (Thu, 17 Jul 2014) | 3 lines

The minimise.grid_zoom user function now uses the zoom-in Oxygen icon.
........
r24548 | bugman | 2014-07-17 14:46:53 +0200 (Thu, 17 Jul 2014) | 6 lines

Created the Relax_fit.test_zooming_grid_search system test.

This will be used to test the implementation of the zooming grid search. The relaxation
curve-fitting analysis should be one of the fastest for testing this.
........
r24552 | bugman | 2014-07-17 16:22:36 +0200 (Thu, 17 Jul 2014) | 5 lines

Added the print_model_title() method to the specific analysis base API class.

This will be used to format and print out the information returned by the model_info() API method.
........
r24553 | bugman | 2014-07-17 16:29:14 +0200 (Thu, 17 Jul 2014) | 3 lines

Implemented the print_model_title() specific analysis API method for the dispersion analysis.
........
r24554 | bugman | 2014-07-17 16:45:06 +0200 (Thu, 17 Jul 2014) | 6 lines

Modified the specific analysis API _model_loop_spin() common method.

This now additionally returns the spin ID string to allow the corresponding spin container to be
identified.
........
r24555 | bugman | 2014-07-17 16:46:57 +0200 (Thu, 17 Jul 2014) | 6 lines

Implemented the specific analysis API common method _print_model_title_spin().

This is for the corresponding _model_loop_spin() method. It can be aliased in the specific analyses
to provide the print_model_title() API method.
........
r24556 | bugman | 2014-07-17 16:49:26 +0200 (Thu, 17 Jul 2014) | 6 lines

Aliased the _print_model_title_spin() specific analysis API common method in a few analyses.

This provides the print_model_title() API method for the J(w) mapping, consistency testing, and
relaxation curve fitting analyses.
........
r24557 | bugman | 2014-07-17 17:13:34 +0200 (Thu, 17 Jul 2014) | 6 lines

Updated all the specific analysis methods affected by the _model_info_spin() API method change.

This is for the change whereby the common API method now returns the spin ID string as well
(r24554).
........
r24558 | bugman | 2014-07-17 17:24:09 +0200 (Thu, 17 Jul 2014) | 3 lines

Fix for a number of docstring typos from r24557.
........
r24559 | bugman | 2014-07-17 17:31:50 +0200 (Thu, 17 Jul 2014) | 5 lines

Implemented get_param_names() and get_param_values() for the relaxation curve-fitting analysis.

These are part of the specific analysis API.
........
r24564 | bugman | 2014-07-18 11:02:52 +0200 (Fri, 18 Jul 2014) | 6 lines

Created the specific analysis API return_parameter_object() function.

This is used by the non-specific analysis code to obtain the parameter object (a singleton object).
It will allow for more direct access to the parameter information.
........
r24565 | bugman | 2014-07-18 11:05:51 +0200 (Fri, 18 Jul 2014) | 8 lines

Created the parameter object infrastructure for adding the grid search lower and upper bounds.

The _add() method now accepts the grid_lower and grid_upper keyword arguments, which can be either
values or functions. These are then stored in the _grid_lower and _grid_upper class dictionaries.
The public methods grid_lower() and grid_upper() have been added to return the value corresponding
to the given parameter.
........
r24566 | bugman | 2014-07-18 11:51:54 +0200 (Fri, 18 Jul 2014) | 8 lines

Modified the specific analysis parameter object grid_lower() and grid_upper() methods.

These now accept the model information from the model_loop() API method and send that into an grid
lower and upper functions. These functions will require the information to pull out the correct
spin, spin cluster, or other information from the current data pipe to determine what the bounds
should be.
........
r24567 | bugman | 2014-07-18 13:47:59 +0200 (Fri, 18 Jul 2014) | 12 lines

Implemented infrastructure in the grid_search user function in preparation for the zooming grid.

The grid search backend now calls the new grid_bounds() function. This takes the lower and upper
bounds as arguments, uses the specific API to determine the per-model parameter grid search bounds,
and then returns a per model list of lower and upper bounds. The specific API get_param_names() and
get_param_values() are called to obtain the current model parameter names and values, and then the
parameter names and model info are used in the new parameter object grid_lower() and grid_upper()
methods to obtain the bounds. This shifts all of the grid search bounds logic out of the specific
analyses and into the grid search backend, so it should allow the specific analysis code to be
simplified.
........
r24568 | bugman | 2014-07-18 14:43:07 +0200 (Fri, 18 Jul 2014) | 11 lines

More modifications of the minimise.grid_search user function backend.

The grid_bounds() function has been renamed to grid_setup(), and it now accepts and processes the
inc user function argument. The error checking code of the relaxation curve-fitting
grid_search_setup() optimisation function has been shifted into this analysis independent
grid_setup() function to shift the minimise.grid_search user function error checking out of the
specific analyses. The function now scales the parameter bounds, using the yet-to-be implemented
scaling() method of the parameter object. And the grid search increments are converted into a
per-model list of lists.
........
r24569 | bugman | 2014-07-18 15:03:54 +0200 (Fri, 18 Jul 2014) | 7 lines

Created the parameter object infrastructure for registering parameter scalings.

The _add() method now accepts the scaling keyword argument, which can be either a value or function.
This is then stored in the _scaling dictionary. The public method scaling() has been added to
return the scaling factor corresponding to the given parameter.
........
r24570 | bugman | 2014-07-18 15:51:10 +0200 (Fri, 18 Jul 2014) | 12 lines

Modified the analysis specific API optimisation method.

The base calculate(), grid_search() and minimise() methods now all accept the scaling_matrix
argument, and the minimise() scaling argument has been removed. This scaling_matrix argument should
be a per-model list of scaling matrices.

To handle the change, the pipe_control.minimise.assemble_scaling_matrix() function has been created.
This uses the new parameter object scaling values to create the list of scaling matrices. This will
in the end replace all of the analysis specific assemble_scaling_matrix() functions and simplify
their optimisation code paths.
........
r24571 | bugman | 2014-07-18 16:13:11 +0200 (Fri, 18 Jul 2014) | 7 lines

Changed the order of operations in the minimisation user function backends.

The specific analysis API overfit_deselect() method needs to be called before any grid bounds,
increments, or the scaling matrices are assembled. This is for the cases when the grid bounds or
scaling factors are functions rather than values.
........
r24572 | bugman | 2014-07-18 16:26:29 +0200 (Fri, 18 Jul 2014) | 15 lines

Converted the relaxation curve-fitting analysis to the new grid bounds and scaling factor design.

The parameter object now registers the grid bounds and scaling factors for all of the curve-fitting
parameters. This includes three functions i_scaling(), i0() and iinf() in the
specific_analyses.relax_fit.parameter_object module for calculating some of these values.

The specific_analyses.relax_fit.parameters.assemble_scaling_matrix() function has been deleted as
this is now provided by the upstream code in pipe_control.minimise. And the API methods
grid_search() and minimise() has been modified to accept the list of scaling matrices.

As the grid bounds and increments are now handled by the upstream pipe_control.minimise.grid_setup()
function, the specific_analyses.relax_fit.optimisation.grid_search_setup() function was redundant
and was deleted.
........
r24573 | bugman | 2014-07-18 16:43:39 +0200 (Fri, 18 Jul 2014) | 7 lines

Created the consistency testing specific API method get_param_names().

This is now required for the minimise.calculate user function, specifically for the analysis
independent assemble_scaling_matrix() function. The get_param_names() method simply returns the
fixed list of parameter names.
........
r24574 | bugman | 2014-07-18 19:43:23 +0200 (Fri, 18 Jul 2014) | 7 lines

Standardisation of the specific analysis API with respect to the model_loop() and base_data_loop().

The model information arguments for the data returned by model_loop(), and the data arguments for
the data arguments for the data returned by base_data_loop() have been standardised throughout the
API.
........
r24575 | bugman | 2014-07-21 08:57:55 +0200 (Mon, 21 Jul 2014) | 3 lines

Epydoc parameter order rearrangement in the specific analysis API base class.
........
r24576 | bugman | 2014-07-21 09:01:54 +0200 (Mon, 21 Jul 2014) | 3 lines

Updated the specific analysis API common methods for the recent model_info argument changes.
........
r24577 | bugman | 2014-07-21 09:07:47 +0200 (Mon, 21 Jul 2014) | 7 lines

Updated all of the specific API calculate() methods to accept the scaling_matrix argument.

The list of per-model scaling matrices is now created independently of the analysis type by the
pipe_control.minimise methods for the minimise.calculate, minimise.grid_search and minimise.execute
user functions and sent into the specific analysis backend.
........
r24578 | bugman | 2014-07-21 09:14:00 +0200 (Mon, 21 Jul 2014) | 10 lines

Updated all of the specific API grid_search() methods to accept the scaling_matrix argument.

The list of per-model scaling matrices is now created independently of the analysis type by the
pipe_control.minimise methods for the minimise.calculate, minimise.grid_search and minimise.execute
user functions and sent into the specific analysis backend.

The argument is also passed into the minimise() API method from the grid_search() method when that
is used.
........
r24579 | bugman | 2014-07-21 09:17:44 +0200 (Mon, 21 Jul 2014) | 7 lines

Updated all of the specific API minimise() methods to accept the scaling_matrix argument.

The list of per-model scaling matrices is now created independently of the analysis type by the
pipe_control.minimise methods for the minimise.calculate, minimise.grid_search and minimise.execute
user functions and sent into the specific analysis backend.
........
r24580 | bugman | 2014-07-21 09:23:37 +0200 (Mon, 21 Jul 2014) | 3 lines

Fix for the Monte Carlo simulations for the model_info argument changes in the specific API.
........
r24581 | bugman | 2014-07-21 09:28:44 +0200 (Mon, 21 Jul 2014) | 5 lines

Fixes for the consistency testing and J(w) mapping calculate() methods.

This is for the changes to the data_init() specific analysis API method.
........
r24582 | bugman | 2014-07-21 09:30:43 +0200 (Mon, 21 Jul 2014) | 3 lines

More fixes for the Monte Carlo simulations for the model_info argument changes in the specific API.
........
r24583 | bugman | 2014-07-21 09:50:45 +0200 (Mon, 21 Jul 2014) | 3 lines

Updated all of the data_init() specific API calls where the spin ID is expected.
........
r24584 | bugman | 2014-07-21 09:59:34 +0200 (Mon, 21 Jul 2014) | 6 lines

Fixes for the _data_init_spin() specific API common method.

The data returned from _base_data_loop_spin() is just the spin ID, the spin container is not
included.
........
r24587 | bugman | 2014-07-21 18:57:56 +0200 (Mon, 21 Jul 2014) | 3 lines

Updated the elminate user function backend to work with the model_info argument changes in the specific API.
........
r24588 | bugman | 2014-07-21 18:59:58 +0200 (Mon, 21 Jul 2014) | 6 lines

The new pipe_control.minimise module functions can now handle models with no parameters.

The new assemble_scaling_matrix() and grid_setup() functions will now handle models with no
parameters, as this is required for the relaxation dispersion analysis.
........
r24589 | bugman | 2014-07-21 19:18:06 +0200 (Mon, 21 Jul 2014) | 6 lines

More fixes for the elminate user function backend.

This is for the model_info argument changes in the specific API.
........
r24590 | bugman | 2014-07-22 10:15:15 +0200 (Tue, 22 Jul 2014) | 9 lines

Fixes for the grid search backend for a recent breakage and expansion of its capabilities.

The user supplied lower and upper bounds for the grid search were no longer being scaled via the
scaling matrix.

In addition, the code has been refactored to be simpler and more flexible. The user can now supply
just the lower or just the upper bounds and the grid search will work.
........
r24591 | bugman | 2014-07-22 10:43:19 +0200 (Tue, 22 Jul 2014) | 7 lines

The grid search setup function now prints out the grid search bounds to be used.

This is in the pipe_control.minimise.grid_setup() function, hence it is analysis independent. This
is useful feedback for the user to know what the grid search is doing. And it will be even more
useful for the zooming grid search to understand what is happening.
........
r24592 | bugman | 2014-07-22 10:45:28 +0200 (Tue, 22 Jul 2014) | 3 lines

The grid search setup printout now also included the number of increments for each parameter.
........
r24593 | bugman | 2014-07-22 10:49:33 +0200 (Tue, 22 Jul 2014) | 6 lines

Modified the new print_model_title() specific analysis API method.

This now accepts the prefix argument for creating different titles independently of the specific
analysis.
........
r24594 | bugman | 2014-07-22 10:51:23 +0200 (Tue, 22 Jul 2014) | 5 lines

The grid search setup function now uses the prefix argument to the print_model_title() API function.

This is simply set to 'Grid search setup:'.
........
r24595 | bugman | 2014-07-22 11:22:56 +0200 (Tue, 22 Jul 2014) | 3 lines

The relaxation dispersion API now uses the MODEL_R2EFF variable for identifying the R2eff model.
........
r24597 | bugman | 2014-07-22 13:06:50 +0200 (Tue, 22 Jul 2014) | 5 lines

Changes to the minimise.grid_search user function front end.

The Boolean constraints argument has been shifted to the end, and empty lines have been removed.
........
r24598 | bugman | 2014-07-22 13:11:50 +0200 (Tue, 22 Jul 2014) | 3 lines

Epydoc docstring fixes for the keyword arguments of the pipe_control.minimise module.
........
r24599 | bugman | 2014-07-22 13:12:40 +0200 (Tue, 22 Jul 2014) | 3 lines

Shifted the constraints boolean argument to the end of the grid_search() function argument list.
........
r24600 | bugman | 2014-07-22 13:36:33 +0200 (Tue, 22 Jul 2014) | 12 lines

Major change to the grid search user function.

The minimise.grid_search user function now accepts the skip_preset flag. When True, the grid search
will skip any parameters with a preset value. This allows the user to set parameters via the
value.set user function and then have these parameters skipped in the grid search.

The new skip_preset argument is passed into the pipe_control.minimise.grid_setup() function in the
backend. This then sets both the grid lower and upper bounds to the preset parameter value and sets
the number of increments to 1 for that parameter so that it is essentially skipped in the grid
search.
........
r24601 | bugman | 2014-07-22 13:44:40 +0200 (Tue, 22 Jul 2014) | 7 lines

Increased the amount of user feedback for the minimise.grid_search user function.

Now a comment for each parameter is included in the printed grid search setup table. This includes
if the lower or upper bounds, or both, have been supplied by the user and if a preset value has been
used instead.
........
r24602 | bugman | 2014-07-22 13:46:27 +0200 (Tue, 22 Jul 2014) | 3 lines

Small change to the table printed out during the minimise.grid_search setup.
........
r24603 | bugman | 2014-07-22 14:22:48 +0200 (Tue, 22 Jul 2014) | 5 lines

Fix for the skipping of preset parameters in the grid search.

Dictionary and list type parameters are now handled correctly.
........
r24604 | bugman | 2014-07-22 14:30:48 +0200 (Tue, 22 Jul 2014) | 24 lines

Converted the relaxation dispersion analysis to the new grid bounds and scaling factor design.

The parameter object now registers the grid bounds and scaling factors for all of the dispersion
parameters. This includes the functions dw_lower(), dwH_lower(), pA_lower() and i0_upper() in the
specific_analyses.relax_disp.parameter_object module for calculating some of these values.

The specific_analyses.relax_disp.parameters.assemble_scaling_matrix() function has been deleted as
this is now provided by the upstream code in pipe_control.minimise. And the API methods
grid_search() and minimise() has been modified to accept the list of scaling matrices.

As the grid bounds and increments are now handled by the upstream pipe_control.minimise.grid_setup()
function, the specific_analyses.relax_disp.optimisation.grid_search_setup() function was redundant
and was deleted.

The specific_analyses.relax_disp.parameters.get_param_names() function was also modified with the
full argument added, to allow either the base parameter names or an augmented form with the
dictionary key for presenting to the user to be returned.

Importantly to allow the changes to be operational, the model_loop() API method was redesigned so
that, for the R2eff base model, the individual spins rather than spin clusters will be looped over.
This allows the specific_analyses.relax_disp.optimisation.minimise_r2eff() function to continue to
operate correctly.
........
r24605 | bugman | 2014-07-22 14:33:18 +0200 (Tue, 22 Jul 2014) | 6 lines

Implemented the J(w) mapping analysis get_param_names() API method.

This simply returns the hardcoded list of 3 parameters of the model, and allows the
minimise.calculate user function to operate.
........
r24606 | bugman | 2014-07-22 14:36:09 +0200 (Tue, 22 Jul 2014) | 5 lines

Updated the _print_model_title_spin() specific API common method.

This now accepts the prefix argument and adds this to the title.
........
r24607 | bugman | 2014-07-22 14:44:17 +0200 (Tue, 22 Jul 2014) | 7 lines

The minimise.grid_search user function can now properly handle preset values of NaN.

This occurs when the parameter vector contains values of None due to the parameter not being set and
then the Python list being converted to a numpy array. The value of NaN is now caught and the
parameter is no longer identified as being preset.
........
r24608 | bugman | 2014-07-22 14:45:38 +0200 (Tue, 22 Jul 2014) | 7 lines

Fixes for the relaxation curve-fitting grid search.

The parameters which are not set are no longer defaulting to 0.0. This means that the parameter
vector will sometimes contain NaN values, but this is important for the correct operation of the new
minimise.grid_search user function backend.
........
r24609 | bugman | 2014-07-22 15:02:58 +0200 (Tue, 22 Jul 2014) | 7 lines

Updated the NOE analysis to handle the changes for the minimise.calculate user function.

This now requires the model_loop() and get_param_names() API methods to be implemented. The first
is provided by the API common _model_loop_spin() method and the second simply returns a list of the
single 'noe' parameter.
........
r24610 | bugman | 2014-07-22 15:11:04 +0200 (Tue, 22 Jul 2014) | 3 lines

Import fix for the N-state model parameter object in the specific API return_parameter_object() function.
........
r24611 | bugman | 2014-07-22 15:11:33 +0200 (Tue, 22 Jul 2014) | 3 lines

Removed some excess empty lines in specific_analyses.api.
........
r24616 | bugman | 2014-07-22 15:36:26 +0200 (Tue, 22 Jul 2014) | 6 lines

Created the _print_model_title_global() specific analysis API method.

This is to be paired with the _model_loop_single_global() API method and it simply prints out the
prefix as the title.
........
r24617 | bugman | 2014-07-22 15:55:57 +0200 (Tue, 22 Jul 2014) | 6 lines

Created the specific analysis parameter object _add_align_tensor() method.

When called by a specific analysis, this will add the [Axx, Ayy, Axy, Axz, Ayz] parameters to the
corresponding parameter object.
........
r24618 | bugman | 2014-07-22 16:01:23 +0200 (Tue, 22 Jul 2014) | 6 lines

Deleted the lib.optimisation module.

The checks in the single test_grid_ops() function are implemented in the
pipe_control.minimise.grid_setup() function and are now redundant.
........
r24640 | bugman | 2014-07-22 17:10:45 +0200 (Tue, 22 Jul 2014) | 3 lines

Removed the import of the now deleted lib.optimisation module from the model-free analysis.
........
r24649 | bugman | 2014-07-22 18:15:47 +0200 (Tue, 22 Jul 2014) | 15 lines

Converted the N-state model analysis to the new grid bounds and scaling factor design.

The parameter object now registers the grid bounds and scaling factors for all of the N-state model
parameters.

The specific_analyses.n_state_model.parameters.assemble_scaling_matrix() function has been deleted
as this is now provided by the upstream code in pipe_control.minimise. And the API methods
grid_search() and minimise() has been modified to accept the list of scaling matrices. In addition,
all of the lower bounds defined in the grid_search() API method have been deleted as this is now in
the parameter object.

The new API function print_model_title() has been aliased from _print_model_title_global(). And the
get_param_names() and get_param_values() API methods have been implemented.
........
r24671 | bugman | 2014-07-23 10:57:23 +0200 (Wed, 23 Jul 2014) | 9 lines

The grid search upper and lower bound functions now must accept the incs argument.

For a few analyses, the number of grid search increments are used to remove the end point of the
grid, to remove duplicate points due to the circular nature of angles. Therefore the parameter
object grid_lower() and grid_upper() methods now send the grid increment number for each parameter
into all grid bound determining functions. The relaxation dispersion and curve-fitting analyses
have been updated for the change.
........
r24674 | bugman | 2014-07-23 11:48:23 +0200 (Wed, 23 Jul 2014) | 17 lines

Converted the frame order analysis to the new grid bounds and scaling factor design.

The parameter object now registers the grid bounds and scaling factors for all of the dispersion
parameters. This includes the functions angle_upper_excluding_bound(), axis_alpha_upper(),
cone_angle_lower(), cone_angle_upper(), pivot_grid_bound(), pivot_x_lower(), pivot_x_upper(),
pivot_y_lower(), pivot_y_upper(), pivot_z_lower(), and pivot_z_upper() in the
specific_analyses.frame_order.parameter_object module for calculating some of these values.

The specific_analyses.frame_order.parameters.assemble_scaling_matrix() function has been deleted as
this is now provided by the upstream code in pipe_control.minimise. And the API methods
grid_search() and minimise() has been modified to accept the list of scaling matrices.

As the grid bounds and increments are now handled by the upstream pipe_control.minimise.grid_setup()
function, the setup and error checking code in the grid_search() API method was redundant and was
deleted.
........
r24675 | bugman | 2014-07-23 12:09:50 +0200 (Wed, 23 Jul 2014) | 8 lines

Modified all calls to the parameter object _add() base class method.

These are now all spread across multiple lines, with each argument on a separate line. This is for
easier maintenance of the specific analysis parameters, as the code is now much cleaner and argument
changes will only have diffs for that argument. It is also visually easier to see all the settings
for each parameter.
........
r24676 | bugman | 2014-07-23 14:35:06 +0200 (Wed, 23 Jul 2014) | 3 lines

Fix for the grid search setup printout when parameters are preset.
........
r24677 | bugman | 2014-07-23 15:41:03 +0200 (Wed, 23 Jul 2014) | 7 lines

Changes to the diffusion tensor initialisation in the model-free auto-analysis.

The values of the tensor are now initialised to None. This is to allow for the new grid search
preset flag which defaults to True, setting the values to None indicates that a grid search should
be performed.
........
r24678 | bugman | 2014-07-23 15:43:33 +0200 (Wed, 23 Jul 2014) | 6 lines

The diffusion_tensor.init user function can now set initial tensor parameter values of None.

This is to allow for the new grid search preset flag. Therefore allowing the values to be None
allows for a grid search to be performed by default.
........
r24680 | bugman | 2014-07-23 16:51:11 +0200 (Wed, 23 Jul 2014) | 6 lines

Created two new model-free system tests.

These are Mf.test_m0_grid_with_grid_search and Mf.test_m0_grid_vs_m1_with_grid_search. Their aim is
to better test the grid search in a model-free analysis when parameters are preset.
........
r24681 | bugman | 2014-07-23 17:26:56 +0200 (Wed, 23 Jul 2014) | 20 lines

Converted the model-free analysis to the new grid bounds and scaling factor design.

The parameter object now registers the grid bounds and scaling factors for all of the model-free
parameters. This includes the functions rex_scaling() and rex_upper() in the
specific_analyses.model_free.parameter_object module for calculating some of these values. The base
parameter object has also been updated as that is where the diffusion parameters are defined. Here
the da_lower() and da_upper() have been defined to handle the different Da value constraints.

The specific_analyses.model_free.parameters.assemble_scaling_matrix() function has been deleted as
this is now provided by the upstream code in pipe_control.minimise. And the API methods
grid_search() and minimise() has been modified to accept the list of scaling matrices.

As the grid bounds and increments are now handled by the upstream pipe_control.minimise.grid_setup()
function, the grid_search_config(), grid_search_diff_bounds() and grid_search_spin_bounds()
functions in the specific_analyses.model_free.optimisation module were redundant and were deleted.

The new API function print_model_title() has been implemented to handle the grid search setup
printouts.
........
r24682 | bugman | 2014-07-23 17:31:13 +0200 (Wed, 23 Jul 2014) | 6 lines

Modified the pipe_control.minimise.grid_setup() function for when no parameters are present.

For the current version of minfx to function correctly (1.0.8), the lower, upper and inc values
should be set to [] rather than None.
........
r24683 | bugman | 2014-07-23 17:33:02 +0200 (Wed, 23 Jul 2014) | 7 lines

Fix for the lib.arg_check.is_num_or_num_tuple().

When the can_be_none flag is set to True, the tuple of None values is now considered valid. This
enable the diffusion_tensor.init user function to accept the spheroid tensor values of (None, None,
None, None), and the ellipsoid tensor values as a tuple of 6 None.
........
r24688 | bugman | 2014-07-23 18:47:41 +0200 (Wed, 23 Jul 2014) | 6 lines

Fix for the _prompt.test_diffusion_tensor.Test_diffusion_tensor.test_init_argfail_params unit test.

As the diffusion tensor can now be initialised as None, the None value can be accepted and a
different RelaxError is raised when the params argument is incorrectly supplied.
........
r24689 | bugman | 2014-07-24 08:44:17 +0200 (Thu, 24 Jul 2014) | 6 lines

Modified the behaviour of the parameter object units() method.

If the unit is set to the default of None, this method will now return an empty string instead of
None.
........
r24690 | bugman | 2014-07-24 08:46:22 +0200 (Thu, 24 Jul 2014) | 3 lines

The rx parameter of the relaxation curve-fitting analysis now has 'rad.s^-1' units defined.
........
r24691 | bugman | 2014-07-24 08:51:48 +0200 (Thu, 24 Jul 2014) | 8 lines

Implemented the zooming grid search.

If the zoom level is set to any value other than 0, then the grid width will be divided by
2**zoom_level and centred at the current parameter values. If the new grid is outside of the bounds
of the original grid, the entire grid will be translated so that it lies entirely within the
original.
........
r24692 | bugman | 2014-07-24 09:05:42 +0200 (Thu, 24 Jul 2014) | 6 lines

Modified the zooming grid search algorithm.

If the zoom level is negative, hence the grid will be larger than the original, the checks that the
grid is within the original are no longer active.
........
r24693 | bugman | 2014-07-24 09:08:42 +0200 (Thu, 24 Jul 2014) | 3 lines

Removed a debugging printout.
........
r24694 | bugman | 2014-07-24 09:38:46 +0200 (Thu, 24 Jul 2014) | 7 lines

Changed the minimise.grid_zoom user function.

The zoom level can now be any floating point number or integer, including negative values. The user
function docstring has been significantly expanded to explain the entire zooming grid search
concept.
........
r24695 | bugman | 2014-07-24 09:39:39 +0200 (Thu, 24 Jul 2014) | 3 lines

Alphabetical ordering of the minimisation user functions in the user_functions.minimisation module.
........
r24696 | bugman | 2014-07-24 10:17:54 +0200 (Thu, 24 Jul 2014) | 5 lines

Large expansion of the minimise.grid_search user function documentation.

The previous documentation was essentially non-existent.
........
r24697 | bugman | 2014-07-24 11:12:33 +0200 (Thu, 24 Jul 2014) | 5 lines

Expanded the minimise.grid_zoom user function documentation.

A few sentences about the limitations of the algorithm have been added.
........
r24698 | bugman | 2014-07-24 11:24:26 +0200 (Thu, 24 Jul 2014) | 9 lines

Completed the Relax_fit.test_zooming_grid_search system test.

Now only a single spin is optimised. The zooming levels increase in integer increments from 0 to 50
so that the final zoomed grid is insanely small (as the curve-fitting C modules are incredibly fast,
this test is nevertheless relatively quick). The final zooming grid search parameter values are
checked to see if they are the same as those optimised in the Relax_fit.test_curve_fitting_height
system test to demonstrate the success of the algorithm.
........
r24699 | bugman | 2014-07-24 11:26:51 +0200 (Thu, 24 Jul 2014) | 8 lines

Modified the grid search upper bounds functions for the relaxation curve-fitting.

This is for both the exponential relaxation curve-fitting analysis and the same fitting in the
dispersion analysis. The intensity values are doubled and then rounded to the next order. This
ensures that I0 and Iinf will be within the grid bounds. Hence the zooming grid search can be used
for these curves.
........
r24700 | bugman | 2014-07-24 11:54:13 +0200 (Thu, 24 Jul 2014) | 5 lines

Expanded the documentation for the minimise.calculate user function.

This now explains the dual operations of the user function.
........
r24701 | bugman | 2014-07-24 11:57:31 +0200 (Thu, 24 Jul 2014) | 5 lines

Fix for a bug introduced at r24689 in the parameter object units() method.

The unit string was accidentally being set to the function or method.
........

2014-07-24 11:26:12 Tree
[r24702] by bugman

Initialized merge tracking via "svnmerge" with revisions "1-24540" from
svn+ssh://bugman@.../svn/relax/branches/zooming_grid_search

2014-07-24 11:12:55 Tree
[r24701] by bugman

Fix for a bug introduced at r24689 in the parameter object units() method.

The unit string was accidentally being set to the function or method.

2014-07-24 09:57:31 Tree
[r24700] by bugman

Expanded the documentation for the minimise.calculate user function.

This now explains the dual operations of the user function.

2014-07-24 09:54:13 Tree
[r24699] by bugman

Modified the grid search upper bounds functions for the relaxation curve-fitting.

This is for both the exponential relaxation curve-fitting analysis and the same fitting in the
dispersion analysis. The intensity values are doubled and then rounded to the next order. This
ensures that I0 and Iinf will be within the grid bounds. Hence the zooming grid search can be used
for these curves.

2014-07-24 09:26:51 Tree
[r24698] by bugman

Completed the Relax_fit.test_zooming_grid_search system test.

Now only a single spin is optimised. The zooming levels increase in integer increments from 0 to 50
so that the final zoomed grid is insanely small (as the curve-fitting C modules are incredibly fast,
this test is nevertheless relatively quick). The final zooming grid search parameter values are
checked to see if they are the same as those optimised in the Relax_fit.test_curve_fitting_height
system test to demonstrate the success of the algorithm.

2014-07-24 09:24:26 Tree
[r24697] by bugman

Expanded the minimise.grid_zoom user function documentation.

A few sentences about the limitations of the algorithm have been added.

2014-07-24 09:12:33 Tree
[r24696] by bugman

Large expansion of the minimise.grid_search user function documentation.

The previous documentation was essentially non-existent.

2014-07-24 08:17:54 Tree
[r24695] by bugman

Alphabetical ordering of the minimisation user functions in the user_functions.minimisation module.

2014-07-24 07:39:39 Tree
Older >
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.