File: CubeManipulationPlug.java

package info (click to toggle)
aladin 12.060%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 15,528 kB
  • sloc: java: 203,449; makefile: 149; xml: 49; sh: 1
file content (50 lines) | stat: -rw-r--r-- 1,843 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50

import cds.aladin.*;
import cds.tools.*;

public class CubeManipulationPlug extends AladinPlugin implements VOObserver {
   
   public String menu() { return "Spectrum extraction from a cube"; }
   public String description() {
      return "PLUGIN TUTORIAL:\n" +
      "This plugin is an example a cube manipulation.\n" +
      "This plugin extracts the spectrum at the mouse position.";
   }   
   public String category()    { return "Plugin tutorial/Cube"; }
   public String version()     { return "1.0 - January 2007"; }
   public String author()      { return "Pierre Fernique [CDS]"; }
   public String url()         { return "http://aladin.u-strasbg.fr/java/Plugins/CubeManipulationPlug.java"; }
   
   // Register this plugin as a VOObserver (see position() method)
   public void exec() {
      aladin.addObserver(this,VOApp.POSITION);
   }
   
   // Call by Aladin when the user clicks on the mouse
   public void position(double ra, double dec) {
      try {
         AladinData ad = aladin.getAladinData();
         
         String planeType = ad.getPlaneType();
         if ( !(planeType.equals("Image/Cube")) ) {
             System.out.println("Only Image/Cube is supported");
             return;
         } 

         double xy[] = ad.getXY(ra,dec);
         int X = (int)(xy[0]-0.5);
         int Y = (int)(xy[1]-0.5);
         
         int depth = ad.getDepth();
         double cube[][][] = ad.getCube(X,Y,0, 1,1,depth);
         
         System.out.print("First 20th spectrum values at ("+X+","+Y+") : ");
         for( int i=0; i<Math.min(20,depth); i++ ) System.out.print(" "+cube[0][0][i]);
         System.out.println();
         
      } catch( AladinException e ) { e.printStackTrace(); }
   } 
   
   // Not used here
   public void pixel(double pixValue) {}
}