Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

wokxy2radec fails if input is 1-element vector

Aperta
#6 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
48/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Ferma
Stack tecnologico
numpy, python
Ambito
data

Direzione di ricerca

Reproduce the one-element input in coordio/utils.py, then trace the failure through telescope.py and conv.py at the locations shown in the traceback. Verify that wokxy2radec handles a one-element array without IndexError while preserving the existing behavior for arrays with more than one element.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

wokxy2radec doesn't like getting a one-element array input; it is fine with > 1 element array however. I could dig into this myself if you prefer me to.

This code:

dec = np.array([52.58780416] * 1, dtype=np.float64)
racen = 14.289097510524789 
deccen = 51.98826274680977
jd = 2459491.7920949073
pa = 41.42279
 
x, y, warn, ha, pa = coordio.utils.radec2wokxy(ra, dec, jd, 'Apogee',
                                               racen, deccen, pa, 'APO', jd)

ra2, dec2, warn2 = coordio.utils.wokxy2radec(x, y, 'Apogee',
                                             racen, deccen, pa,
                                             'APO', jd)

Leads to the error:

IndexError                                Traceback (most recent call last)
<ipython-input-39-3b3b7ca72fba> in <module>
      9                                                racen, deccen, pa, 'APO', jd)
     10 
---> 11 ra2, dec2, warn2 = coordio.utils.wokxy2radec(x, y, 'Apogee',
     12                                              racen, deccen, pa,
     13                                              'APO', jd)

~/products/coordio/coordio/utils.py in wokxy2radec(xWok, yWok, waveName, raCen, decCen, obsAngle, obsSite, obsTime, pressure, relativeHumidity, temperature)
    273     wok = Wok(xyzWok, site=site, obsAngle=obsAngle)
    274     focal = FocalPlane(wok, wavelength=wavelength, site=site)
--> 275     field = Field(focal, field_center=obsCen, wavelength=wavelength)
    276     obs = Observed(field, site=site, wavelength=wavelength)
    277     icrs = ICRS(obs, epoch=obsTime, wavelength=wavelength)

~/products/coordio/coordio/telescope.py in __new__(cls, value, **kwargs)
     90                 initArray = numpy.zeros((len(value), 2))
     91                 obj = super().__new__(cls, initArray, **kwargs)
---> 92                 obj._fromFocalPlane(value)
     93             else:
     94                 raise CoordIOError(

~/products/coordio/coordio/telescope.py in _fromFocalPlane(self, fpCoords)
    146                 continue
    147 
--> 148             thetaFocal, phiFocal, fieldWarn = conv.focalToField(
    149                 xFP,
    150                 yFP,

~/products/coordio/coordio/conv.py in focalToField(xFocal, yFocal, zFocal, site, waveCat)
    437     rFocal = numpy.sqrt(xFocal**2 + yFocal**2)
    438     v = numpy.array([rFocal, zFocal]).T
--> 439     v[:, 1] = v[:, 1] - b
    440 
    441     # unit vector pointing toward object on focal plane from circle center

IndexError: too many indices for array: array is 1-dimensional, but 2 were indexed```

Lingua principale
C
Stelle
1
Fork
0
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di sdss/coordio

Tutte le issue di sdss/coordio

Issue simili

Altre issue su C

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.