<!-- 
RSS generated by JIRA (8.3.4#803005-sha1:1f96e09b3c60279a408a2ae47be3c745f571388b) at Sat Feb 10 15:29:04 JST 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>PFS-JIRA</title>
    <link>https://pfspipe.ipmu.jp/jira</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>8.3.4</version>
        <build-number>803005</build-number>
        <build-date>13-09-2019</build-date>
    </build-info>


<item>
            <title>[REDMINE1D-76] [RM-5691] Pre-traitement du parameters.json</title>
                <link>https://pfspipe.ipmu.jp/jira/browse/REDMINE1D-76</link>
                <project id="11002" key="REDMINE1D">1D Redmine </project>
                    <description>&lt;p&gt;&lt;em&gt;&lt;font color=&quot;#505f79&quot;&gt; Created on 2020-03-18 14:41:05 by Pierre-yves Chabaud. % Done: 100&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;


&lt;p&gt;MR pylibamazed: &lt;a href=&quot;https://gitlab.lam.fr/CPF/cpf-redshift/-/merge_requests/498&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://gitlab.lam.fr/CPF/cpf-redshift/-/merge_requests/498&lt;/a&gt;&lt;br/&gt;
MR dataset-parameters : &lt;a href=&quot;https://gitlab.lam.fr/amazed/dataset-parameters/-/merge_requests/56&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://gitlab.lam.fr/amazed/dataset-parameters/-/merge_requests/56&lt;/a&gt;&lt;br/&gt;
MR pyamazed: &lt;a href=&quot;https://gitlab.lam.fr/CPF/pyamazed/-/merge_requests/114&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://gitlab.lam.fr/CPF/pyamazed/-/merge_requests/114&lt;/a&gt; Issue &lt;a href=&quot;https://projets.lam.fr/issues/8268&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://projets.lam.fr/issues/8268&lt;/a&gt;&lt;br/&gt;
MR amazed output analyzer &lt;a href=&quot;https://gitlab.lam.fr/amazed/amazed-output-analyzer/-/merge_requests/15&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://gitlab.lam.fr/amazed/amazed-output-analyzer/-/merge_requests/15&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
        <key id="16780">REDMINE1D-76</key>
            <summary>[RM-5691] Pre-traitement du parameters.json</summary>
                <type id="3" iconUrl="https://pfspipe.ipmu.jp/jira/secure/viewavatar?size=xsmall&amp;avatarId=10518&amp;avatarType=issuetype">Task</type>
                                            <priority id="10000" iconUrl="https://pfspipe.ipmu.jp/jira/images/icons/priorities/medium.svg">Normal</priority>
                        <status id="10002" iconUrl="https://pfspipe.ipmu.jp/jira/images/icons/statuses/generic.png" description="The issue is resolved, reviewed, and merged">Done</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10000">Done</resolution>
                                        <assignee username="r2j.migrate">Redmine-Jira Migtation</assignee>
                                    <reporter username="r2j.migrate">Redmine-Jira Migtation</reporter>
                        <labels>
                    </labels>
                <created>Fri, 4 Jun 2021 01:22:02 +0000</created>
                <updated>Mon, 18 Sep 2023 19:03:10 +0000</updated>
                            <resolved>Mon, 18 Sep 2023 19:03:10 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                <comments>
                            <comment id="35061" author="r2j.migrate" created="Mon, 18 Sep 2023 18:59:40 +0000"  >&lt;p&gt;Comment by Ali Allaoui on 2020-08-13 14:48:53:&lt;br/&gt;
Avec cette feature, dans le client LAM le fichier parameters.py, qui contient des param&#232;tres par d&#233;faut, devient inutile&lt;/p&gt;</comment>
                            <comment id="35062" author="r2j.migrate" created="Mon, 18 Sep 2023 18:59:48 +0000"  >&lt;p&gt;Comment by Didier Vibert on 2020-11-07 13:58:32:&lt;br/&gt;
ce pr&#233;traitement pourrait &#234;tre une m&#233;thode du @CprocessFlowContext@ (ou plut&#244;t du @CParameterStore@)&lt;/p&gt;

&lt;p&gt;ce qui permettra, de rendre le membre @CprocessFlowContext:m_ParameterStore@ const (std::shared_ptr&amp;lt;const CParameterStore&amp;gt;) ainsi que le getter CProcessFlowContext::GetParameterStore, &#224; condition de pr&#233;-traiter le ParameterStore dans @Init@, avant d&apos;initialiser par copie @m_ParameterStore@.&lt;/p&gt;

&lt;p&gt;Note, pour l&apos;instant les seules modifs en &#233;critures effectu&#233;es dans le cours du run, consiste en quelques appels &#224; @CDataStore::SetScopedParam@ depuis&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;@CLineModelSolve::PopulateParameters@ (for&#231;age de @linemodel.fittingmethod@ et @linemodel.firstpass.fittingmethod@)&lt;/li&gt;
	&lt;li&gt;@CMethodDTreeCSolve::Solve@ (for&#231;age de @linemodel.fittingmethod@)&lt;/li&gt;
	&lt;li&gt;@CZweiModelSolve::PopulateParameters@ (for&#231;age de @zweimodel.fittingmethod@)&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="35063" author="r2j.migrate" created="Mon, 18 Sep 2023 19:00:02 +0000"  >&lt;p&gt;Comment by Ali Allaoui on 2020-11-09 17:54:46:&lt;/p&gt;

&lt;p&gt;ce pourrait &#234;tre aussi des m&#233;thodes &amp;lt;pre&amp;gt;&amp;lt;code class=&quot;cpp&quot;&amp;gt;COperator::checkParameters(CParameterStore parameters,std::string scope) &amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt; que CProcessFlow ou CMethod appellerait sur tous les op&#233;rateurs utilis&#233;s&lt;/p&gt;
</comment>
                            <comment id="35064" author="r2j.migrate" created="Mon, 18 Sep 2023 19:00:19 +0000"  >&lt;p&gt;Comment by Didier Vibert on 2020-11-10 09:34:02:&lt;br/&gt;
Ali ALLAOUI wrote in #note-3:&lt;br/&gt;
&amp;gt; ce pourrait &#234;tre aussi des m&#233;thodes &lt;span class=&quot;error&quot;&gt;&amp;#91;...&amp;#93;&lt;/span&gt; que CProcessFlow ou CMethod appellerait sur tous les op&#233;rateurs utilis&#233;s&lt;/p&gt;

&lt;p&gt;yep ! en fait il faut toute la hirerachie , ie des @CMethod::checkParameterss(...)@ qui appellent les @COperator::checkparameters()@ du ou des operateurs utilis&#233;s dans la m&#233;thode, et CProcessFlow qui appelle les  @CMethod::checkParameterss(...)@  des m&#233;hthode qu&apos;il utilise.&lt;/p&gt;

&lt;p&gt;ce qui conduit &#224; repenser les op&#233;rateurs/ m&#233;thode en les d&#233;rivant chacun d&apos;une classe de base CMethode ou COperator (abstraite &#233;ventuellement) contenant les methodes virtuelles &lt;/p&gt;

&lt;p&gt;et du coup le contextflow devrait sans doute &#234;tre un membre (pointeur) des classe CMethod, (et potentiellement des classe COperator aussi ?  &#224; voir...)&lt;/p&gt;

&lt;p&gt;=&amp;gt; ticket &quot;refactor CMethod/Coperator&quot; ?&lt;/p&gt;

&lt;p&gt;je pense aussi qu&apos;il faudrait attaquer la suppression des m&#233;thodes obsol&#232;tes (actuellement, on perds du temps &#224; les mettre &#224; jour) ainsi que renommage de certaines:&lt;br/&gt;
eg&lt;br/&gt;
chisquare2solve -&amp;gt; templateSolve&lt;br/&gt;
chisquareSolve -&amp;gt; trash&lt;br/&gt;
chisquareLogSolve -&amp;gt; templateLogSolve&lt;/p&gt;</comment>
                            <comment id="35065" author="r2j.migrate" created="Mon, 18 Sep 2023 19:00:36 +0000"  >&lt;p&gt;Comment by Mira Sarkis on 2021-07-15 13:24:19:&lt;br/&gt;
Hello, en m&apos;inspirant de &lt;a href=&quot;https://json-schema.org/&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://json-schema.org/&lt;/a&gt;, et dans le but de sp&#233;cifier les param&#232;tres de param.json afin de :&lt;br/&gt;
1) valider les noms des params, &lt;br/&gt;
2) valider les valeurs donn&#233;es , &lt;br/&gt;
3) valider la complitude des params ainsi  que le respect de la hi&#233;rarchie &lt;br/&gt;
4) et meme g&#233;n&#233;rer une documentation compl&#232;te de tous les params&lt;/p&gt;

&lt;p&gt;J&apos;ai &#233;crit un premier schema draft (en pi&#232;ce-jointe) qui sera une base pour discuter de ma proposition.&lt;br/&gt;
En gros les bases du schema sont list&#233;es comme suit:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;chaque param&#232;tre d&apos;amazed est une propri&#233;t&#233;.&lt;/li&gt;
	&lt;li&gt;une propri&#233;t&#233; est consiste en: 1) description, 2) type , 3) constraint, 4) hierarchies
	&lt;ul&gt;
		&lt;li&gt;&lt;b&gt;description&lt;/b&gt; : sert principalement &#224; la documentation des propri&#233;t&#233;s&lt;/li&gt;
		&lt;li&gt;&lt;b&gt;type&lt;/b&gt; : donne le type qui peut etre un type standard, e.g., float, int, bool, etc ou meme un objet.
		&lt;ul&gt;
			&lt;li&gt;je d&#233;finis un objet comme une entit&#233; englobant plusieurs propri&#233;t&#233;s. Par exemple, le param&#232;tre @ebmv @est un objet &#224; 3 propri&#233;t&#233;s.&lt;/li&gt;
			&lt;li&gt;il est possible de d&#233;finir des objets (e.g., @defModuletype@: @priorObject@) qui sera utilis&#233; comme un nouveau type. Le but i&#231;i est d&apos;&#233;viter de dupliquer du texte.&lt;/li&gt;
		&lt;/ul&gt;
		&lt;/li&gt;
		&lt;li&gt;&lt;b&gt;constraint&lt;/b&gt; : contient une liste de r&#232;gles qui s&apos;appliquent &#224; la valeur pass&#233;e &#224; chaque param.
		&lt;ul&gt;
			&lt;li&gt;j&apos;ai d&#233;fini des r&#232;gles &quot;standard&quot; comme par e.g., nonNull, positive, PATH, etc.&lt;/li&gt;
			&lt;li&gt;et aussi des r&#232;gles correspondant aux valeurs accept&#233;es par chaque param&#232;tre. Ces r&#232;gles sont ajout&#233;s &#224; la fin du fichier  de specification.&lt;/li&gt;
		&lt;/ul&gt;
		&lt;/li&gt;
		&lt;li&gt;&lt;b&gt;hierarchies&lt;/b&gt; : d&#233;termine &#224; quel endroit on pourra placer chacune des propri&#233;t&#233;s. Dans l&apos;exemple suivant, on voit que le param&#232;tre priors  peut appartenir &#224; &quot;tplratio&quot; ou &quot;continuumfit&quot;&lt;br/&gt;
&amp;lt;pre&amp;gt;&lt;br/&gt;
Exemple: &lt;br/&gt;
{&lt;br/&gt;
&quot;priors&quot;:{&lt;br/&gt;
	&quot;desciption&quot;: &quot;priors&quot;,&lt;br/&gt;
	&quot;type&quot;: &quot;object&quot;,&lt;br/&gt;
	&quot;defModuletype&quot;: &quot;priorObject&quot;, //definition d&apos;un nouveau type d&apos;objet r&#233;utilisable par chacun des elements de @hierarchies@&lt;br/&gt;
	&quot;properties&quot;:
&lt;div class=&quot;error&quot;&gt;&lt;span class=&quot;error&quot;&gt;Unknown macro: {		&amp;quot;betaA&amp;quot;}&lt;/span&gt; &lt;/div&gt;
&lt;p&gt;,&lt;br/&gt;
	&quot;hierarchies&quot;:&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;tplratio&amp;quot;, &amp;quot;continuumfit&amp;quot;&amp;#93;&lt;/span&gt;&lt;br/&gt;
},&lt;br/&gt;
&quot;inValuelistContinuumRemovalMethods&quot;:&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;zero&amp;quot;, &amp;quot;Median&amp;quot;, &amp;quot;IrregularSamplingMedian&amp;quot;,&amp;quot;raw&amp;quot;&amp;#93;&lt;/span&gt; //d&#233;finition de contrainte&lt;br/&gt;
}&lt;br/&gt;
&amp;lt;/pre&amp;gt;&lt;/p&gt;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="35066" author="r2j.migrate" created="Mon, 18 Sep 2023 19:00:50 +0000"  >&lt;p&gt;Comment by Didier Vibert on 2023-06-09 10:04:32:&lt;/p&gt;
&lt;h2&gt;&lt;a name=&quot;R%C3%A9sum%C3%A9deladiscussiondu8%2F06%2F2023&quot;&gt;&lt;/a&gt;R&#233;sum&#233; de la discussion du 8/06/2023&lt;/h2&gt;

&lt;ul&gt;
	&lt;li&gt;impl&#233;mentation du check parameter 100% python dans l&apos;API&lt;/li&gt;
	&lt;li&gt;cons&#233;quence: le code C++ fait l&#8217;hypoth&#232;se que la coh&#233;rence est pr&#233;-test&#233;e, et ne fait plus de check: on supprime donc les checks sp&#233;cifiques fait en C++ (&#224; identifier dans la classe CParameterStore et ailleurs dans le code). Ne subsiste donc en C++ que le check qu&apos;un param existe lorsqu&apos;on y acc&#232;de (les getter C++ l&#232;vent une exception)&lt;/li&gt;
	&lt;li&gt;on supprime aussi du code C++ les &quot;combinaisons de param&#232;tres&quot; qui ne sont pas des check mais peuvent &#234;tre assimil&#233;s &#224; des param&#232;tres interm&#233;diaires d&#233;duits des param&#232;tres initiaux. Le code python devra donc rajouter ces param&#232;tres interm&#233;diaires avec donc les m&#233;thodes pour les produire&lt;/li&gt;
	&lt;li&gt;Le format reste json&lt;/li&gt;
	&lt;li&gt;la classe parameter python devra appeler le checker lors de son instanciation (dans le @_&lt;em&gt;init&lt;/em&gt;_@)&lt;/li&gt;
	&lt;li&gt;on a parl&#233; de check &#224; base d&apos;un tableau csv. Mais il existe un &quot;json schema&quot;:&lt;a href=&quot;https://json-schema.org/&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://json-schema.org/&lt;/a&gt; qui permet de d&#233;finir une grammaire (en json) pour un document json. @msarkis avait d&#233;j&#224; regard&#233; cet aspect (cf #note-8). Il me semble que &#231;a permet de traiter tous les check dont nous avons besoin (range et type des param, param&#232;tre requis conditionnellement &#224; la pr&#233;sence et/ou valeur d&apos;autres, hi&#233;rarchie de param...)&lt;br/&gt;
Le fichier schema est sans doute un peu fastidieu &#224; &#233;crire (il peut &#234;tre scind&#233; en plusieurs sous-ensembles), mais ensuite le checker python existe (il y en a plusieurs &lt;a href=&quot;https://json-schema.org/implementations.html#validator-python&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://json-schema.org/implementations.html#validator-python&lt;/a&gt;), ainsi que des g&#233;n&#233;rateurs de documentation.&lt;/li&gt;
	&lt;li&gt;on a d&#233;cid&#233; de ne pas faire de check des sections &quot;inutiles&quot; (j&apos;ai l&apos;impression que si on utilise json-schema, ce n&apos;est pas possible: le checker v&#233;rifiera l&apos;int&#233;gralit&#233; du contenu, mais ce n&apos;est pas avec un prix suppl&#233;mentaire car les r&#232;gles pour les &quot;sections inutiles&quot; doivent &#234;tre &#233;crites lorsque les sections sont utilis&#233;es...)&lt;/li&gt;
	&lt;li&gt;encapsulation: aucune m&#233;thode C++ de la classe CParameterStore ne devrait &#234;tre utilis&#233;e en dehors de la classe @Parameters@ python, ie le code python api (hormis Parameters.py)  et client&lt;br/&gt;
 ne doivent pas acc&#233;der au CParameterStore.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;n&apos;h&#233;sitez pas &#224; compl&#233;ter/corriger (j&apos;ai desassign&#233; cette issue pour l&apos;instant).&lt;/p&gt;</comment>
                            <comment id="35067" author="r2j.migrate" created="Mon, 18 Sep 2023 19:01:18 +0000"  >&lt;p&gt;Comment by Didier Vibert on 2023-08-23 10:13:27:&lt;br/&gt;
@fdufresne voici la r&#233;ponse &#224; tes questions:&lt;/p&gt;

&lt;p&gt;Recap questions restantes sur les param&#232;tres:&lt;/p&gt;

&lt;h3&gt;&lt;a name=&quot;1Actuellement%2Cebmvestrequisdanslescaso%C3%B9ismfitestenabledquelquepart.Ajoutd%27unwarnings%27ilestpr%C3%A9sentalorsqueismfitenablednulpart%3F&quot;&gt;&lt;/a&gt;1 - Actuellement, ebmv est requis dans les cas o&#249; ismfit est enabled quelque part. Ajout d&apos;un warning s&apos;il est pr&#233;sent alors que ismfit enabled nul part ?&lt;/h3&gt;

&lt;p&gt;c&apos;est la question des param inutiles... que fait-t-on dans les autres cas ??? je ne me souviens plus de ce qu&apos;on avait dit.&lt;br/&gt;
Peut-etre coder le check avec un mode plus permissif: en mode strict on raise d&#232;s qu&apos;un param inutile est pr&#233;sent, en mode permissif on laisse passer (ou warning ? )&lt;/p&gt;


&lt;h3&gt;&lt;a name=&quot;2V%C3%A9rifierqu%27onpeutsupprimer%3A&quot;&gt;&lt;/a&gt;2 - V&#233;rifier qu&apos;on peut supprimer:&lt;/h3&gt;

&lt;ul&gt;
	&lt;li&gt;2.1 - templateCatalog.continuumRemoval.decompScales&lt;/li&gt;
	&lt;li&gt;2.2 - templateCatalog.continuumRemoval.binpath&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;oui tu peux&lt;/p&gt;


&lt;h3&gt;&lt;a name=&quot;3Dansquelscaslinemeasdzhalfestilobligatoire%3F&quot;&gt;&lt;/a&gt;3 - Dans quels cas linemeas_dzhalf est-il obligatoire ?&lt;/h3&gt;

&lt;p&gt;tout le temps (idem pour linemeas_redshiftstep)&lt;/p&gt;


&lt;h3&gt;&lt;a name=&quot;4Dansquelscaslinemeasredshiftstepestilobligatoire%3F&quot;&gt;&lt;/a&gt;4 - Dans quels cas linemeas_redshiftstep est-il obligatoire ?&lt;/h3&gt;

&lt;p&gt;idem&lt;/p&gt;


&lt;h3&gt;&lt;a name=&quot;5PeutonsupprimerLineModelSolve.linemodel.extremacutprobathreshold%3F&quot;&gt;&lt;/a&gt;5 - Peut-on supprimer LineModelSolve.linemodel.extremacutprobathreshold ?&lt;/h3&gt;

&lt;p&gt;non on garde. Il est actif dans le code. Mais on desactive son utilisation en le mettant &#224; -1. On reste comme &#231;a&lt;/p&gt;


&lt;h3&gt;&lt;a name=&quot;6PeutonsupprimerLineModelSolve.linemodel.modelpriorzStrength%3F&quot;&gt;&lt;/a&gt;6 - Peut-on supprimer LineModelSolve.linemodel.modelpriorzStrength ?&lt;/h3&gt;

&lt;p&gt;oui, plus de trace dans le code c++&lt;/p&gt;


&lt;h3&gt;&lt;a name=&quot;7Peutonsupprimerlinemodel.pdf.bestzoption%3FSinon%2Cdansquelscasestil%C3%A0sp%C3%A9cifier%3F&quot;&gt;&lt;/a&gt;7 - Peut-on supprimer linemodel.pdf.bestzoption ? Si non, dans quels cas est il &#224; sp&#233;cifier ?&lt;/h3&gt;

&lt;p&gt;oui, plus de trace dans le code c++&lt;/p&gt;


&lt;h3&gt;&lt;a name=&quot;8PeutonsupprimertemplateCatalog.continuumRemoval.binpathetcontinuumRemoval.binpath%3F&quot;&gt;&lt;/a&gt;8 - Peut on supprimer templateCatalog.continuumRemoval.binpath et continuumRemoval.binpath ?&lt;/h3&gt;

&lt;p&gt;oui (idem 2. ?)&lt;/p&gt;

&lt;h3&gt;&lt;a name=&quot;9PeutonsupprimertemplateCatalog.continuumRemoval.decompScalesetcontinuumRemoval.decompScales%3F&quot;&gt;&lt;/a&gt;9 - Peut-on supprimer templateCatalog.continuumRemoval.decompScales et continuumRemoval.decompScales ?&lt;/h3&gt;

&lt;p&gt;oui (idem 2. ?)&lt;/p&gt;

&lt;h3&gt;&lt;a name=&quot;10Dansquelscasobject.linemodelsolve.linemodel.continuumfitestil%C3%A0pr%C3%A9ciser%3F&quot;&gt;&lt;/a&gt;10 - Dans quels cas object.linemodelsolve.linemodel.continuumfit est-il &#224; pr&#233;ciser ?&lt;/h3&gt;

&lt;p&gt;lorsque que object.linemodelsolve.linemodel.continuumcomponent = tplfit*&lt;br/&gt;
(mais si on applique &#231;a il y a qq petit bug dans le code c++ o&#249; les param peuvent &#234;tre lus alors qu&apos;ils ne sont pas pertinents...&lt;br/&gt;
      =&amp;gt; ouvir un ticket pour &#231;a: je m&apos;en charge #8231 &lt;del&gt;et je le marque comme bloquant du ticker parameters&lt;/del&gt; )&lt;/p&gt;

&lt;h3&gt;&lt;a name=&quot;11Peutonsupprimerobject.LineMeasSolve.linemodel.polynomialdegree%3FSinon%2Cdansquelscasestil%C3%A0sp%C3%A9cifier%3F&quot;&gt;&lt;/a&gt;11 - Peut-on supprimer object.LineMeasSolve.linemodel.polynomialdegree ? Si non, dans quels cas est-il &#224; sp&#233;cifier ?&lt;/h3&gt;

&lt;p&gt;non, il faut le conserver. Le code le lit, mais par erreur ne s&apos;en sert pas. Il y a un ticket pour r&#233;parer &#231;a.&lt;/p&gt;

&lt;h3&gt;&lt;a name=&quot;12Ilsemblaitqu%27ilyavaitdesparam%C3%A8tresmanquantsdansobject.LineMeasSolve.Quelssontcesparam%C3%A8tresmanquants%3F&quot;&gt;&lt;/a&gt;12 - Il semblait qu&apos;il y avait des param&#232;tres manquants dans object.LineMeasSolve. Quels sont ces param&#232;tres manquants ?&lt;/h3&gt;

&lt;p&gt;?&lt;/p&gt;

&lt;p&gt;la liste qui est pr&#233;sente dans le parameters_base.json est incompl&#232;te si velocityfit=true cf la variation linemeas_lbfgsb qui introduit les 4 param suppl&#233;mentaires:&lt;br/&gt;
emvelocityfitmin, emvelocityfitmax, absvelocityfitmin, absvelocityfitmax&lt;/p&gt;

</comment>
                            <comment id="35068" author="r2j.migrate" created="Mon, 18 Sep 2023 19:01:31 +0000"  >&lt;p&gt;Comment by Fanny Dufresne on 2023-08-23 14:49:26:&lt;br/&gt;
1- Concernant comment g&#233;rer les param&#232;tres des param&#232;tres inutiles, je propose:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Si c&apos;est un  param&#232;tre &quot;inconnu&quot; qui dans tous les cas n&apos;est jamais utilils&#233; (ex il y a eu une typo), raise une erreur&lt;/li&gt;
	&lt;li&gt;Si c&apos;est un param&#232;tres parfois utile mais dans ce cas pr&#233;cis inutilis&#233;, mettre un warning&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;12. &#199;a me para&#238;t &#233;tonnantdans le cas de linemodelen plus des emvelocityfitmin max etc on pr&#233;cise &#233;galement obligatoirement les step, ce qu&apos;on ne fait pas l&#224;. Est-ce bien voulu ?&lt;/p&gt;</comment>
                            <comment id="35069" author="r2j.migrate" created="Mon, 18 Sep 2023 19:01:43 +0000"  >&lt;p&gt;Comment by Didier Vibert on 2023-08-23 15:41:30:&lt;br/&gt;
Fanny Dufresne wrote in #note-15:&lt;br/&gt;
&amp;gt; 1- Concernant comment g&#233;rer les param&#232;tres des param&#232;tres inutiles, je propose:&lt;br/&gt;
&amp;gt;     - Si c&apos;est un  param&#232;tre &quot;inconnu&quot; qui dans tous les cas n&apos;est jamais utilis&#233; (ex il y a eu une typo), raise une erreur&lt;br/&gt;
&amp;gt;     - Si c&apos;est un param&#232;tre parfois utile mais dans ce cas pr&#233;cis inutilis&#233;, mettre un warning&lt;/p&gt;

&lt;p&gt;parfait&lt;/p&gt;

&lt;p&gt;&amp;gt; 12. &#199;a me para&#238;t &#233;tonnant dans le cas de linemodelen plus des emvelocityfitmin max etc on pr&#233;cise &#233;galement obligatoirement les steps, ce qu&apos;on ne fait pas l&#224;. Est-ce bien voulu ?&lt;/p&gt;

&lt;p&gt;comme discut&#233; oralement, pas de &lt;span class=&quot;error&quot;&gt;&amp;#91;em|abs&amp;#93;&lt;/span&gt;velocityfitstep pour linemeas.&lt;br/&gt;
en fait le fitter lbfgsb (le fitter est d&#233;fini par le param fittingmethod) utilise le param velocityfit (true/false) et les min/max pour fitter la vitesse avec un algo de descente de gradient (c&apos;est cet algo qui d&#233;termine le step &#224; chaque pas. En revanche les autres fitter (individual/hybrid/svd...) n&apos;utilisent directement pas ces param&#232;tres. C&apos;est l&apos;op&#233;rateur linemodel qui les utilise en faisant une boucle avec un step lors de la seconde passe (dans COperatorLineModel::EstimateSecondPassParameters) donc uniquement dans la m&#233;thode linemodelsolve.&lt;/p&gt;

&lt;p&gt;pour r&#233;sumer: &lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;linemodelSolve: velocityfit(true/false) n&#233;cessaire, si true (les step,min,max de &lt;span class=&quot;error&quot;&gt;&amp;#91;em|abs&amp;#93;&lt;/span&gt;velocityfit sont n&#233;cessaires sinon inutiles (mais le code les lit sans doute ? ) qq soit la fittingmethod&lt;/li&gt;
	&lt;li&gt;linemeasSolve: fittingmethod != lbfgs tout les param velocityfit sont inutiles (le true/false aussi), sinon ils sont n&#233;cessaires (mais sans le step)&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="35070" author="r2j.migrate" created="Mon, 18 Sep 2023 19:01:53 +0000"  >&lt;p&gt;Comment by Fanny Dufresne on 2023-08-23 16:41:27:&lt;br/&gt;
Et une nouelle question !&lt;br/&gt;
a. Le champ priors est-il obligatoire dans line_model_continuum_fit ?&lt;br/&gt;
b. Dans priors, tous les champs sont-ils obligatoires ?&lt;br/&gt;
c. J&apos;avais not&#233; de mettre linemeas_dzhalf en &quot;required&quot;, mais il n&apos;est pas pr&#233;sent partout, dans quels cas est-il attendu ?&lt;br/&gt;
d. Idem pour linemeas_redshiftstep ?&lt;br/&gt;
e. Idem pour enable_reliability&lt;/p&gt;</comment>
                            <comment id="35071" author="r2j.migrate" created="Mon, 18 Sep 2023 19:02:00 +0000"  >&lt;p&gt;Comment by Didier Vibert on 2023-08-24 12:40:07:&lt;br/&gt;
Fanny Dufresne wrote in #note-17:&lt;br/&gt;
&amp;gt; Et une nouelle question !&lt;br/&gt;
&amp;gt; Le champ priors est-il obligatoire dans line_model_continuum_fit ?&lt;br/&gt;
&amp;gt; Dans priors, tous les champs sont-ils obligatoires ?&lt;/p&gt;

&lt;p&gt;oui pour l&apos;instant. En fait ils ne sont utiles que lorsque @priors.catalog_dirpath@ correspond &#224; un r&#233;pertoire existant. Si le repertoire n&apos;est pas trouv&#233;, l&apos;objet @CPriorHelper@  est instanci&#233; avec un @mInitFaild@ avec un warning. Typiquement, aujourd&apos;hui pour d&#233;sactiver l&apos;usage de ces priors, on met @priors.catalog_dirpath: &quot;&quot;@.&lt;br/&gt;
il Faudrait rajouter un param bool @enable_priors@. Et en fonction rendre la suite n&#233;cessaire ou inutile. avec une exception si l&apos;initialisation se passe mal lorsque enable est True =&amp;gt; un peu de dev c++ &#224; faire (mais pas tr&#232;s compliqu&#233;: je rajoute un ticket =&amp;gt; #8229)&lt;/p&gt;

&lt;p&gt;rmq: idem pour les params @tplratio.priors@&lt;/p&gt;</comment>
                            <comment id="35072" author="r2j.migrate" created="Mon, 18 Sep 2023 19:02:12 +0000"  >&lt;p&gt;Comment by Didier Vibert on 2023-08-24 13:19:41:&lt;br/&gt;
Fanny Dufresne wrote in #note-17:&lt;/p&gt;

&lt;p&gt;&amp;gt; c. J&apos;avais not&#233; de mettre linemeas_dzhalf en &quot;required&quot;, mais il n&apos;est pas pr&#233;sent partout, dans quels cas est-il attendu ?&lt;br/&gt;
il devrait ! il est n&#233;cessaire dans la section linemeasSolve&lt;/p&gt;

&lt;p&gt;&amp;gt; d. Idem pour linemeas_redshiftstep ?&lt;br/&gt;
idem &lt;/p&gt;

&lt;p&gt;&amp;gt; e. Idem pour enable_reliability&lt;br/&gt;
obligatoire pour l&apos;instant.  Pour le refactor ult&#233;rieur, si on opte pour des bool partout pour activer/d&#233;sactiver certaines sections ou si la pr&#233;sence d&apos;une section suffit &#224; l&apos;activer.&lt;/p&gt;</comment>
                            <comment id="35073" author="r2j.migrate" created="Mon, 18 Sep 2023 19:02:21 +0000"  >&lt;p&gt;Comment by Didier Vibert on 2023-09-07 14:06:57:&lt;br/&gt;
juste une petite description &#224; modifier (cf dernier commentaire non resolved sur gitlab) , je passe en feedback ensuite&lt;/p&gt;</comment>
                            <comment id="35074" author="r2j.migrate" created="Mon, 18 Sep 2023 19:02:30 +0000"  >&lt;p&gt;Comment by Fanny Dufresne on 2023-09-07 14:16:41:&lt;br/&gt;
C&apos;est corrig&#233;, j&apos;ai ajout&#233; la modif de la description au commit d&#233;j&#224; existant &quot;code review corrections&quot;&lt;/p&gt;</comment>
                            <comment id="35075" author="r2j.migrate" created="Mon, 18 Sep 2023 19:02:36 +0000"  >&lt;p&gt;Comment by Pierre-yves Chabaud on 2023-09-12 09:53:55:&lt;br/&gt;
Merged into @develop@ (@f807415a@)&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="16509" name="jsonSchemaPlain.json" size="16088" author="r2j.migrate" created="Mon, 18 Sep 2023 19:02:47 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10500" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|zzs7ns:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    </customfields>
    </item>
</channel>
</rss>