Attention une mise à jour du service Gitlab va être effectuée le mardi 30 novembre entre 17h30 et 18h00. Cette mise à jour va générer une interruption du service dont nous ne maîtrisons pas complètement la durée mais qui ne devrait pas excéder quelques minutes. Cette mise à jour intermédiaire en version 14.0.12 nous permettra de rapidement pouvoir mettre à votre disposition une version plus récente.

Commit 029c38b6 authored by PACANOWSKI Romain's avatar PACANOWSKI Romain
Browse files

merge

parents b18b865a c0f566db
import os
import sys
## Import configuration from a config file
## Add ALTA custom cmd configurations
##
AddOption('--cfg', help='Specify a configuration file (see config.example')
## Import configuration from a config file
##
configFile = GetOption('cfg')
if configFile == None:
configFile = 'config.example'
......@@ -77,8 +81,9 @@ env.AppendUnique(CPPPATH = ['#sources'])
Export('env')
if not env.GetOption('help'):
external = env.SConscript('external/SConscript')
sources = env.SConscript('sources/SConscript')
env.Requires(sources, external)
env.Depends(sources, external)
#end
......@@ -255,7 +255,11 @@ double solve_quadprog(Matrix<double>& G, Vector<double>& g0,
iai[i] = i;
l1: iter++;
//std::cout << "iteration " << iter << std::endl ;
// Laurent: had to put this one since the program can go in an infinite loop
if(iter > 10000)
{
return std::numeric_limits<double>::max();
}
#ifdef TRACE_SOLVER
print_vector("x", x);
#endif
......@@ -386,6 +390,7 @@ l2a:/* Step 2a: determine step direction */
/* QPP is infeasible */
// FIXME: unbounded to raise
q = iq;
return inf;
}
/* case (ii): step in dual space */
......
......@@ -2,5 +2,5 @@ core = SConscript('core/SConscript')
plugins = SConscript('plugins/SConscript')
softs = SConscript('softs/SConscript')
Requires(softs, core)
Requires(plugins, core)
Requires(softs, core)
......@@ -50,10 +50,12 @@ bool rational_fitter_parallel::fit_data(const data* dat, function* fit, const ar
const int _max_np = args.get_int("np", _min_np);
std::cout << "<<INFO>> N in [" << _min_np << ", " << _max_np << "]" << std::endl ;
nb_starting_points = args.get_int("nb-starting-points", 100);
const int nb_starting_points = args.get_int("nb-starting-points", 100);
std::cout << "<<INFO>> number of data point used in start: " << nb_starting_points << std::endl;
for(int i=_min_np; i<=_max_np; ++i)
const int step = args.get_int("np-step", 1);
for(int i=_min_np; i<=_max_np; i+=step)
{
std::cout << "<<INFO>> fit using np+nq = " << i << std::endl ;
std::cout.flush() ;
......
......@@ -18,6 +18,22 @@
*
* \details
* You can find QuadProg++ here: http://quadprog.sourceforge.net/
* <br />
*
* <h3>Plugin parameters</h3>
*
* We provide the following command line arguments to manipulate this plugin:
* <ul>
* <li><b>--np</b> <em>[int]</em> controls the maximum number of total coefficients
* an interpolation should have. By default, this number is 10.</li>
* <li><b>--min-np</b> <em>[int]<em></li> controls the starting value for the
* number of coefficients for the rational function. by default, this number
* is 10.</li>
* <li><b>--np-step</b> <em>[int]</em> stepping for the number of coefficients
* of the rational function. By default, this number is 1.</li>
* <li><b>--nb-cores</b> <em>[int]</em> number of core allocated to perform
* the seach. By default, this is equal to the number of processors.</li>
* </ul>
*/
class rational_fitter_parallel : public fitter
{
......
......@@ -11,19 +11,6 @@
<parameter name="lib-dir" value="./build" />
</configuration>
<!-- Extract only one slice of the BRDF data
-->
<action name="data2data">
<!-- Input and output arguments of the action -->
<input name="../papers/retro/mesures/original/3M_jaune/3d/633nm/Fichiers\ definitifs/densify_helmholtz/3M_jaune_3D+3DS+3DR__BRDF_min_retro_lobe_dense.alta" />
<output name="/tmp/yellow_slice_inc30.dat" />
<!-- Parameters -->
<parameter name="param" value="ISOTROPIC_TV_PROJ_DPHI" />
<parameter name="max" value="[0.3, 2, 2]" />
</action>
<!-- Fitting the lobe using a back parametrization:
The ABC model uses the dot product between the back and the
normal vectors.
......@@ -41,15 +28,18 @@
<!-- Define the ftting procedure to use -->
<!--<plugin type="fitter" name="rational_fitter_quadprog" />-->
<plugin type="fitter" name="rational_fitter_parallel" />
<parameter name="min-np" value="60" />
<parameter name="min-np" value="100" />
<!--<parameter name="min-np" value="53" />-->
<parameter name="min-nq" value="10" />
<parameter name="np" value="100" />
<parameter name="np" value="200" />
<parameter name="nq" value="100" />
<parameter name="dt" value="0.5" />
<parameter name='np-step' value='5' />
<parameter name="dt" value="0.1" />
<parameter name="data-positive" value="" />
<parameter name="nb-starting-points" value="2000" />
<!--<parameter name="dt-relative" value="" />-->
<parameter name="nb-starting-points" value="1000" />
</action>
<!-- Export the fit -->
......
......@@ -28,14 +28,14 @@
<!-- Define the ftting procedure to use -->
<!--<plugin type="fitter" name="rational_fitter_quadprog" />-->
<plugin type="fitter" name="rational_fitter_parallel" />
<parameter name="min-np" value="20" />
<parameter name="min-np" value="60" />
<!--<parameter name="min-np" value="53" />-->
<parameter name="min-nq" value="20" />
<parameter name="min-nq" value="60" />
<parameter name="np" value="100" />
<parameter name="nq" value="100" />
<parameter name="dt" value="0.5" />
<parameter name="dt" value="0.1" />
<parameter name="data-positive" value="" />
<parameter name="nb-starting-points" value="3000" />
<parameter name="nb-starting-points" value="1000" />
<!--<parameter name="dt-relative" value="" />-->
</action>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment