Corot » History » Version 8
Anonymous, 26/04/2012 17:41
| 1 | 1 | Anonymous | h1. Corot |
|---|---|---|---|
| 2 | 1 | Anonymous | |
| 3 | 1 | Anonymous | |
| 4 | 8 | Anonymous | h2. Scripts de création des imagettes |
| 5 | 8 | Anonymous | |
| 6 | 8 | Anonymous | Premièrement, récupérer la liste des corotid à traiter. On peut séparer par run_code pour faire tourner le script moins longtemps et faire moins chauffer le corot-lightcurve et son repertoire 'temp'. |
| 7 | 8 | Anonymous | |
| 8 | 8 | Anonymous | On récupère donc les corotid depuis pgadmin3 (exemple pour SRa05 et EN2_STAR_CHR : select distinct corotid from exo_n2_view where run_code like 'SRa05%' and en2_star_mon; ) |
| 9 | 8 | Anonymous | |
| 10 | 8 | Anonymous | Puis avec emacs on rajoute le début de l'url : http://idoc-corot-lightcurve.ias.u-psud.fr/rest/tempo/basic/N2/SRa05/ (dans un fichier, par exemple "links.txt") |
| 11 | 8 | Anonymous | |
| 12 | 8 | Anonymous | On utilise tempo qui pointe vers les data privés mais sans authentification (ligne à décommenter dans spring-config.xml sur idc-appli2 : /usr/local/tomcat_corot/webapps/corot-lightcurve/WEB-INF/conf) |
| 13 | 8 | Anonymous | |
| 14 | 8 | Anonymous | Puis on exécute le script perl qui va générer les *.png dans /usr/local/tomcat_corot/webapps/corot-lightcurve/temp/ : |
| 15 | 8 | Anonymous | |
| 16 | 8 | Anonymous | <pre><code class="java"> |
| 17 | 8 | Anonymous | |
| 18 | 8 | Anonymous | #!/usr/bin/perl |
| 19 | 8 | Anonymous | open READ, "< links.txt"; |
| 20 | 8 | Anonymous | while (<READ>) |
| 21 | 8 | Anonymous | { |
| 22 | 8 | Anonymous | chomp; |
| 23 | 8 | Anonymous | system("curl $_ | grep \"alt=\\\"Light curve for corot id\" >> adr_img.txt"); |
| 24 | 8 | Anonymous | } |
| 25 | 8 | Anonymous | |
| 26 | 8 | Anonymous | </code></pre> |
| 27 | 8 | Anonymous | |
| 28 | 8 | Anonymous | |
| 29 | 8 | Anonymous | On obtient une ligne par imagette générée. |
| 30 | 8 | Anonymous | |
| 31 | 8 | Anonymous | <img src="http://idoc-corot-lightcurve.ias.u-psud.fr/temp/lightcurve_8653845841090318133.png" alt="Light curve for corot id : 223925326 (run SRa05)" /> |
| 32 | 8 | Anonymous | |
| 33 | 8 | Anonymous | Il faut ensuite copier les imagettes en local et les renommer : D'abord éditer avec Emacs (avec des replace string) pour obtenir : |
| 34 | 8 | Anonymous | |
| 35 | 8 | Anonymous | http://idoc-corot-lightcurve.ias.u-psud.fr/temp/lightcurve_8653845841090318133.png > img_exo_223925326_SRa05.png |
| 36 | 8 | Anonymous | |
| 37 | 8 | Anonymous | Puis lancer le 2eme script perl : |
| 38 | 8 | Anonymous | |
| 39 | 8 | Anonymous | <pre><code class="java"> |
| 40 | 8 | Anonymous | |
| 41 | 8 | Anonymous | #!/usr/bin/perl |
| 42 | 8 | Anonymous | open READ, "< adr_img.txt"; |
| 43 | 8 | Anonymous | while (<READ>) |
| 44 | 8 | Anonymous | { |
| 45 | 8 | Anonymous | chomp; |
| 46 | 8 | Anonymous | system("curl $_"); |
| 47 | 8 | Anonymous | } |
| 48 | 8 | Anonymous | |
| 49 | 8 | Anonymous | </code></pre> |
| 50 | 8 | Anonymous | |
| 51 | 8 | Anonymous | |
| 52 | 1 | Anonymous | h2. Gestion des imagettes dans le Detail |
| 53 | 1 | Anonymous | |
| 54 | 1 | Anonymous | Dans le fichier : /usr/local/Sitools2_Corot/workspace/client-user/js/components/viewDataDetail/viewDataDetail.js |
| 55 | 1 | Anonymous | Ligne 102 : collapsed : false |
| 56 | 2 | Anonymous | |
| 57 | 2 | Anonymous | |
| 58 | 2 | Anonymous | h2. Export VOTABLE |
| 59 | 3 | Anonymous | |
| 60 | 3 | Anonymous | Dans contextMenu.js (client) : |
| 61 | 3 | Anonymous | |
| 62 | 3 | Anonymous | <pre><code class="javascript"> |
| 63 | 4 | Anonymous | // ligne 864 fichier version 0.9.1 |
| 64 | 3 | Anonymous | // on test que l'utilisateur ne selectionne pas CHR et MON en meme temps + qu'il n'a pas pris de WINDESC et d'IMAG |
| 65 | 3 | Anonymous | if((request.search("EN2_STAR_CHR")!=-1 && request.search("EN2_STAR_MON")!=-1) || request.search("EN2_WIN")!=-1 || request.search("EN2_STAR_IMAG")!=-1){ |
| 66 | 3 | Anonymous | // si oui on l'averti que ce n'est pas possible et on ne lance pas le VOTable |
| 67 | 3 | Anonymous | Ext.Msg.alert("WARNING !", "DONT SELECT WINDESCRIPTOR OR IMAG" + "<br/>" + " ALSO DONT PICK EN2_STAR_MON AND EN2_STAR_CHR AT THE SAME TIME PLEASE !!!"); |
| 68 | 3 | Anonymous | |
| 69 | 3 | Anonymous | }else{ |
| 70 | 3 | Anonymous | // sinon on lance exportVOTable |
| 71 | 3 | Anonymous | |
| 72 | 3 | Anonymous | |
| 73 | 3 | Anonymous | url += "?1=1" + request; |
| 74 | 3 | Anonymous | if (!Ext.isEmpty(limit)) { |
| 75 | 3 | Anonymous | url += "&limit=" + limit; |
| 76 | 3 | Anonymous | } |
| 77 | 3 | Anonymous | if (! Ext.isEmpty(userParameters)) { |
| 78 | 3 | Anonymous | Ext.iterate(userParameters, function (key, value) { |
| 79 | 3 | Anonymous | url += "&" + key + "=" + value; |
| 80 | 3 | Anonymous | }); |
| 81 | 3 | Anonymous | } |
| 82 | 3 | Anonymous | |
| 83 | 3 | Anonymous | // If Get => the Resource MUST be synchrone and then send a representation |
| 84 | 3 | Anonymous | if (method == "GET") { |
| 85 | 3 | Anonymous | window.open(url); |
| 86 | 3 | Anonymous | Ext.getBody().unmask(); |
| 87 | 3 | Anonymous | return; |
| 88 | 3 | Anonymous | } else { |
| 89 | 3 | Anonymous | this._executeRequestForResource(url, method); |
| 90 | 3 | Anonymous | } |
| 91 | 3 | Anonymous | } |
| 92 | 3 | Anonymous | |
| 93 | 6 | Anonymous | </code></pre> |
| 94 | 5 | Anonymous | |
| 95 | 5 | Anonymous | |
| 96 | 5 | Anonymous | Puis dans ExportVORessource.java : |
| 97 | 5 | Anonymous | |
| 98 | 5 | Anonymous | <pre><code class="java"> |
| 99 | 5 | Anonymous | // ligne 192 |
| 100 | 5 | Anonymous | // Execute request to know which value are selected |
| 101 | 5 | Anonymous | String primkey=""; |
| 102 | 5 | Anonymous | Integer type=0; |
| 103 | 5 | Anonymous | try { |
| 104 | 5 | Anonymous | primkey = databaseRequest.getRequestAsString(); //.getSelectedPrimaryKey(); |
| 105 | 5 | Anonymous | boolean found = primkey.contains("AN2"); |
| 106 | 5 | Anonymous | if(found){ |
| 107 | 5 | Anonymous | System.out.println("J'ai trouvé AN2 !!!\n"); |
| 108 | 5 | Anonymous | type=1; |
| 109 | 5 | Anonymous | }else{ |
| 110 | 5 | Anonymous | //System.out.println("AN2 non trouvé !!!\n"); |
| 111 | 5 | Anonymous | if((primkey.contains("EN2_STAR_CHR") && primkey.contains("EN2_STAR_MON")) || primkey.contains("EN2_WIN") || primkey.contains("EN2_STAR_IMAG")){ |
| 112 | 5 | Anonymous | System.out.println("Error j'ai trouvé CHR et MON !!!\n"); |
| 113 | 5 | Anonymous | }else{ |
| 114 | 5 | Anonymous | if(primkey.contains("EN2_STAR_CHR")){ |
| 115 | 5 | Anonymous | System.out.println("J'ai trouvé CHR !!!\n"); |
| 116 | 5 | Anonymous | type = 2; |
| 117 | 5 | Anonymous | } else{ |
| 118 | 5 | Anonymous | if(primkey.contains("EN2_STAR_MON")){ |
| 119 | 5 | Anonymous | System.out.println("J'ai trouvé MON !!!\n"); |
| 120 | 5 | Anonymous | type = 3; |
| 121 | 5 | Anonymous | } |
| 122 | 5 | Anonymous | } |
| 123 | 5 | Anonymous | } |
| 124 | 5 | Anonymous | } |
| 125 | 5 | Anonymous | System.out.println("Type vaux : " + type); |
| 126 | 5 | Anonymous | } catch (SitoolsException ex) { |
| 127 | 5 | Anonymous | Logger.getLogger(ExportVOResource.class.getName()).log(Level.SEVERE, null, ex); |
| 128 | 5 | Anonymous | } |
| 129 | 5 | Anonymous | System.out.println("primkey : " + primkey); // astero et AN2_STAR dans la requete !!! |
| 130 | 5 | Anonymous | |
| 131 | 5 | Anonymous | [ ........ ] |
| 132 | 5 | Anonymous | |
| 133 | 5 | Anonymous | // ligne 246 |
| 134 | 5 | Anonymous | String template_name = ""; |
| 135 | 5 | Anonymous | if (type==1) |
| 136 | 5 | Anonymous | template_name = "template_astero.ftl"; |
| 137 | 5 | Anonymous | else if (type==2) |
| 138 | 5 | Anonymous | template_name = "template_exo_chr.ftl"; |
| 139 | 5 | Anonymous | else if (type==3) |
| 140 | 5 | Anonymous | template_name = "template_exo_mon.ftl"; |
| 141 | 5 | Anonymous | |
| 142 | 5 | Anonymous | |
| 143 | 5 | Anonymous | System.out.println("j'envoie le template : " + template_name); |
| 144 | 5 | Anonymous | |
| 145 | 5 | Anonymous | //Return the response |
| 146 | 7 | Anonymous | if (type!=0) |
| 147 | 7 | Anonymous | return new VOTableRepresentation(dataModel, template_name); |
| 148 | 7 | Anonymous | else |
| 149 | 7 | Anonymous | return null; |
| 150 | 6 | Anonymous | </code></pre> |
| 151 | 6 | Anonymous | |
| 152 | 6 | Anonymous | |
| 153 | 6 | Anonymous | |
| 154 | 6 | Anonymous | Les templates.ftl doivent être dans le folder de VOTableRepresentation.java et doivent être bien définis. |
| 155 | 6 | Anonymous | |
| 156 | 6 | Anonymous | Exemple : Pour EN2_STAR_MON, template_exo_mon.ftl |
| 157 | 6 | Anonymous | |
| 158 | 6 | Anonymous | <pre><code class="XML"> |
| 159 | 6 | Anonymous | |
| 160 | 6 | Anonymous | <?xml version="1.0" encoding="UTF-8"?> |
| 161 | 6 | Anonymous | <VOTABLE version="1.2" |
| 162 | 6 | Anonymous | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| 163 | 6 | Anonymous | xsi:schemaLocation="http://www.ivoa.net/xml/VOTable/v1.2" |
| 164 | 6 | Anonymous | xmlns="http://www.ivoa.net/xml/VOTable/v1.2"> |
| 165 | 6 | Anonymous | <!-- |
| 166 | 6 | Anonymous | ! VOTable written by MHUSSON@IAS version 0.1 (mhusson@ias.u-psud.fr) |
| 167 | 6 | Anonymous | ! at 2012-03-30 |
| 168 | 6 | Anonymous | ! Best use with TOPCAT 3.9 or higher version |
| 169 | 6 | Anonymous | !--> |
| 170 | 6 | Anonymous | <RESOURCE name="COROT N2 EN2MON"> |
| 171 | 6 | Anonymous | <DESCRIPTION>COROT N2 PUBLIC DATA VOTABLE STREAM FORMAT</DESCRIPTION> |
| 172 | 6 | Anonymous | <PARAM name="COROT VERSION" datatype="char" arraysize="*" value="N2"> |
| 173 | 6 | Anonymous | <DESCRIPTION>COROT N2 FITS STREAM</DESCRIPTION> |
| 174 | 6 | Anonymous | </PARAM> |
| 175 | 6 | Anonymous | <INFO name="SITOOLS2 COROT PROJECT" value="http://idoc-corotn2-public-v2.ias.u-psud.fr"> |
| 176 | 6 | Anonymous | VOTABLE generated with SItools2 COROT and exportVO Ressource (J-C.Malapert@CNES, M.Husson@IAS) |
| 177 | 6 | Anonymous | </INFO> |
| 178 | 6 | Anonymous | <TABLE ID="reference"> |
| 179 | 6 | Anonymous | <FIELD ID="date" arraysize="23" datatype="char" name="DATE" unit="yyyy-mm-jjThh:mi:ss"/> |
| 180 | 6 | Anonymous | <FIELD ID="datejd" datatype="double" name="DATEJD" unit="COROT JULIAN DAY"/> |
| 181 | 6 | Anonymous | <FIELD ID="datehel" datatype="double" name="DATEHEL" unit="COROT JULIAN DAY"/> |
| 182 | 6 | Anonymous | <FIELD ID="status" datatype="int" name="STATUS"/> |
| 183 | 6 | Anonymous | <FIELD ID="whiteflux" datatype="float" name="WHITEFLUX" unit="ELECTRONS"/> |
| 184 | 6 | Anonymous | <FIELD ID="whitefluxdev" datatype="float" name="WHITEFLUXDEV" unit="ELECTRONS"/> |
| 185 | 6 | Anonymous | <FIELD ID="bg" datatype="float" name="BG" unit="ELECTRONS PER PIXEL"/> |
| 186 | 6 | Anonymous | <FIELD ID="correc" datatype="float" name="CORREC" unit="ELECTRONS"/> |
| 187 | 6 | Anonymous | </TABLE> |
| 188 | 6 | Anonymous | <#list rows as row> |
| 189 | 6 | Anonymous | <TABLE ref="reference" name="${row["file"]}"> |
| 190 | 6 | Anonymous | <PARAM name="COROT ID" value="${row["corotid"]}"/> |
| 191 | 6 | Anonymous | <PARAM name="COROT RUN" value="${row["run_code"]}"/> |
| 192 | 6 | Anonymous | <DATA> |
| 193 | 6 | Anonymous | <FITS extnum="1"> |
| 194 | 6 | Anonymous | <STREAM actuate="onRequest" href="${row["download"]}"/> |
| 195 | 6 | Anonymous | </FITS> |
| 196 | 6 | Anonymous | </DATA> |
| 197 | 6 | Anonymous | </TABLE> |
| 198 | 6 | Anonymous | </#list> |
| 199 | 6 | Anonymous | </RESOURCE> |
| 200 | 6 | Anonymous | </VOTABLE> |
| 201 | 6 | Anonymous | |
| 202 | 6 | Anonymous | </code></pre> |