Skip to content
Snippets Groups Projects
Commit 7c77baa8 authored by joshuaroschlaub's avatar joshuaroschlaub
Browse files

update

parent 9a82b3a5
Branches
No related tags found
No related merge requests found
No preview for this file type
%% Cell type:code id:6e2b226d tags:
``` python
import numpy as np
from astropy.io import fits
import matplotlib.pyplot as plt
from astropy.wcs import WCS
import os
import csv
########## Input ##########
fits_path = 'F:\\data\\spectral_fits_gold\\'
samples_per_class = 2500
smallest_wavelength = 4000 # in Angström
biggest_wavelength = 9000
########## Program ##########
all_flux = []
filenames = []
for directory in os.listdir(fits_path):
count_failed=0
count_added=0
for filename in os.listdir(fits_path + directory + '\\'):
path = fits_path + '\\' + directory + '\\' + filename
# fits-Dateien öffnen und wavelength + flux einlesen
hdul = fits.open(path)
data = hdul[1].data
flux = data['flux']
wavelength = 10**data['loglam']
hdul.close()
# first und last Index finden
for i in range(len(wavelength)):
if wavelength[i]>smallest_wavelength:
first_index = i
break
for i in range(len(wavelength)):
if wavelength[i]>biggest_wavelength:
last_index = i
break
# wavenlength und flux Listen schneiden
wavelength = wavelength[first_index:last_index]
flux = flux[first_index:last_index]
if len(wavelength) == 3522 and count_added < samples_per_class:
all_flux.append(flux)
filenames.append(filename)
count_added += 1
if len(wavelength) != 3522:
print("Länge der Liste wavelength ist: " + str(len(wavelength)))
count_failed += 1
print(str(count_failed/samples_per_class*100) + "% waren nicht erfolgreich bei der Klasse:" + directory)
# Numpy Arrays mit Daten füllen
data = np.array(all_flux)
labels = np.zeros(shape=(4*samples_per_class,), dtype='int')
for i in range(4):
for t in range(samples_per_class):
labels[i*samples_per_classclass+t] = i
wavelengths = np.array(wavelength)
filenames = np.array(filenames)
# Numpy arrays in .npy Dateien speichern
np.save(fits_path + "data.npy", data)
np.save(fits_path + "labels.npy", labels)
np.save(fits_path + "wavelengths.npy", wavelengths)
np.save(fits_path + "filenames.npy", filenames)
```
%% Output
Länge der Liste wavelength ist: 3267
Länge der Liste wavelength ist: 2690
Länge der Liste wavelength ist: 3483
Länge der Liste wavelength ist: 3521
0.16% waren nicht erfolgreich bei der Klasse:AGN
---------------------------------------------------------------------------
NotADirectoryError Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_4876/374206826.py in <module>
25 count_added=0
26
---> 27 for filename in os.listdir(fits_path + directory + '\\'):
28
29 path = fits_path + '\\' + directory + '\\' + filename
NotADirectoryError: [WinError 267] Der Verzeichnisname ist ungültig: 'F:\\data\\spectral_fits_gold\\data.npy\\'
%% Cell type:code id:85504e55 tags:
``` python
```
Source diff could not be displayed: it is too large. Options to address this: view the blob.
notebooks/spectral_classifier_gold_big/accuracy_graph_goldbig.png

13.9 KiB

......@@ -2,7 +2,7 @@
"cells": [
{
"cell_type": "code",
"execution_count": null,
"execution_count": 1,
"metadata": {},
"outputs": [
{
......
%% Cell type:code id:6e2b226d tags:
``` python
import numpy as np
from astropy.io import fits
import matplotlib.pyplot as plt
from astropy.wcs import WCS
import os
import csv
########## Input ##########
fits_path = 'F:\\data\\spectral_fits_gold\\'
fits_path = 'F:\\data\\spectral_fits_gold_big\\'
samples_per_class = 1000
samples_per_class = 2500
smallest_wavelength = 4000 # in Angström
biggest_wavelength = 9000
########## Program ##########
all_flux = []
filenames = []
for directory in os.listdir(fits_path):
count_failed=0
count_added=0
for filename in os.listdir(fits_path + directory + '\\'):
path = fits_path + '\\' + directory + '\\' + filename
# fits-Dateien öffnen und wavelength + flux einlesen
hdul = fits.open(path)
data = hdul[1].data
flux = data['flux']
wavelength = 10**data['loglam']
hdul.close()
# first und last Index finden
for i in range(len(wavelength)):
if wavelength[i]>smallest_wavelength:
first_index = i
break
for i in range(len(wavelength)):
if wavelength[i]>biggest_wavelength:
last_index = i
break
# wavenlength und flux Listen schneiden
wavelength = wavelength[first_index:last_index]
flux = flux[first_index:last_index]
if len(wavelength) == 3522 and count_added < samples_per_class:
all_flux.append(flux)
filenames.append(filename)
count_added += 1
if len(wavelength) != 3522:
print("Länge der Liste wavelength ist: " + str(len(wavelength)))
count_failed += 1
print(str(count_failed/1000*100) + "% waren nicht erfolgreich bei der Klasse:" + directory)
print(str(count_failed/samples_per_class*100) + "% waren nicht erfolgreich bei der Klasse:" + directory)
# Numpy Arrays mit Daten füllen
data = np.array(all_flux)
labels = np.zeros(shape=(4000,), dtype='int')
labels = np.zeros(shape=(4*samples_per_class,), dtype='int')
for i in range(4):
for t in range(samples_per_class):
labels[i*1000+t] = i
labels[i*samples_per_class+t] = i
wavelengths = np.array(wavelength)
filenames = np.array(filenames)
# Numpy arrays in .npy Dateien speichern
np.save(fits_path + "data.npy", data)
np.save(fits_path + "labels.npy", labels)
np.save(fits_path + "wavelengths.npy", wavelengths)
np.save(fits_path + "filenames.npy", filenames)
```
%% Output
Länge der Liste wavelength ist: 3267
Länge der Liste wavelength ist: 2690
Länge der Liste wavelength ist: 3483
Länge der Liste wavelength ist: 3521
0.4% waren nicht erfolgreich bei der Klasse:AGN
Länge der Liste wavelength ist: 3521
Länge der Liste wavelength ist: 3502
Länge der Liste wavelength ist: 3511
Länge der Liste wavelength ist: 3521
Länge der Liste wavelength ist: 3493
Länge der Liste wavelength ist: 3519
Länge der Liste wavelength ist: 3506
Länge der Liste wavelength ist: 3477
Länge der Liste wavelength ist: 3487
Länge der Liste wavelength ist: 3486
Länge der Liste wavelength ist: 3503
Länge der Liste wavelength ist: 3470
Länge der Liste wavelength ist: 2781
Länge der Liste wavelength ist: 3286
Länge der Liste wavelength ist: 3330
Länge der Liste wavelength ist: 2813
Länge der Liste wavelength ist: 3372
Länge der Liste wavelength ist: 2731
Länge der Liste wavelength ist: 2818
Länge der Liste wavelength ist: 3508
Länge der Liste wavelength ist: 3513
Länge der Liste wavelength ist: 3509
Länge der Liste wavelength ist: 3513
Länge der Liste wavelength ist: 3503
Länge der Liste wavelength ist: 3470
Länge der Liste wavelength ist: 3503
Länge der Liste wavelength ist: 3467
Länge der Liste wavelength ist: 3469
Länge der Liste wavelength ist: 3494
Länge der Liste wavelength ist: 3461
Länge der Liste wavelength ist: 3423
Länge der Liste wavelength ist: 3507
Länge der Liste wavelength ist: 3433
Länge der Liste wavelength ist: 3487
Länge der Liste wavelength ist: 3484
Länge der Liste wavelength ist: 3470
Länge der Liste wavelength ist: 3469
Länge der Liste wavelength ist: 3447
Länge der Liste wavelength ist: 3447
Länge der Liste wavelength ist: 3511
Länge der Liste wavelength ist: 3519
3.1% waren nicht erfolgreich bei der Klasse:galaxy
Länge der Liste wavelength ist: 3516
0.1% waren nicht erfolgreich bei der Klasse:QSO
Länge der Liste wavelength ist: 3461
Länge der Liste wavelength ist: 3472
Länge der Liste wavelength ist: 3475
Länge der Liste wavelength ist: 3468
Länge der Liste wavelength ist: 3444
Länge der Liste wavelength ist: 3469
Länge der Liste wavelength ist: 3459
Länge der Liste wavelength ist: 3424
Länge der Liste wavelength ist: 3431
Länge der Liste wavelength ist: 3521
Länge der Liste wavelength ist: 3284
Länge der Liste wavelength ist: 3448
Länge der Liste wavelength ist: 3478
Länge der Liste wavelength ist: 3394
0.64% waren nicht erfolgreich bei der Klasse:AGN
Länge der Liste wavelength ist: 3506
Länge der Liste wavelength ist: 2805
Länge der Liste wavelength ist: 3260
Länge der Liste wavelength ist: 3508
Länge der Liste wavelength ist: 3452
Länge der Liste wavelength ist: 3440
Länge der Liste wavelength ist: 3157
Länge der Liste wavelength ist: 3418
Länge der Liste wavelength ist: 2811
Länge der Liste wavelength ist: 3057
Länge der Liste wavelength ist: 3508
Länge der Liste wavelength ist: 3382
Länge der Liste wavelength ist: 2739
Länge der Liste wavelength ist: 3123
Länge der Liste wavelength ist: 2781
Länge der Liste wavelength ist: 3439
Länge der Liste wavelength ist: 3007
0.6799999999999999% waren nicht erfolgreich bei der Klasse:galaxy
Länge der Liste wavelength ist: 2845
Länge der Liste wavelength ist: 2807
Länge der Liste wavelength ist: 3003
Länge der Liste wavelength ist: 3474
Länge der Liste wavelength ist: 3093
Länge der Liste wavelength ist: 3446
Länge der Liste wavelength ist: 3203
Länge der Liste wavelength ist: 3410
Länge der Liste wavelength ist: 3007
Länge der Liste wavelength ist: 3402
Länge der Liste wavelength ist: 3520
Länge der Liste wavelength ist: 3432
Länge der Liste wavelength ist: 1880
Länge der Liste wavelength ist: 3094
Länge der Liste wavelength ist: 3405
Länge der Liste wavelength ist: 3145
Länge der Liste wavelength ist: 3464
Länge der Liste wavelength ist: 3441
Länge der Liste wavelength ist: 3515
1.2% waren nicht erfolgreich bei der Klasse:star
Länge der Liste wavelength ist: 3242
Länge der Liste wavelength ist: 3240
Länge der Liste wavelength ist: 3517
Länge der Liste wavelength ist: 3520
Länge der Liste wavelength ist: 3450
Länge der Liste wavelength ist: 3086
0.96% waren nicht erfolgreich bei der Klasse:QSO
Länge der Liste wavelength ist: 3491
Länge der Liste wavelength ist: 2671
Länge der Liste wavelength ist: 3517
Länge der Liste wavelength ist: 2855
Länge der Liste wavelength ist: 3474
Länge der Liste wavelength ist: 2902
Länge der Liste wavelength ist: 3511
0.27999999999999997% waren nicht erfolgreich bei der Klasse:star
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_19284/1693293451.py in <module>
68 for i in range(4):
69 for t in range(samples_per_class):
---> 70 labels[i*samples_per_classclass+t] = i
71
72 wavelengths = np.array(wavelength)
NameError: name 'samples_per_classclass' is not defined
%% Cell type:code id:85504e55 tags:
``` python
```
......
notebooks/spectral_classifier_gold_big/loss_graph_goldbig.png

12.7 KiB

Source diff could not be displayed: it is too large. Options to address this: view the blob.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment