dan_adi
Members-
Posts
341 -
Joined
-
Last visited
Content Type
Profiles
Forums
Gallery
Events
Blogs
Everything posted by dan_adi
-
Any EU custom adapter maker like PreciseParts?
-
I'm in B 5 so give it a go!
-
I tried it but it needed excessive stretching, so I guess it needs a little more data. Also some L data wouldn't hurt.
-
My first attempt at a nebula, did fairly well, but I still need more data on it. The core was a challenge, pretty bright, but fiddling with pixinsight I was able to get a decent image Astrobin Link
- 8 replies
-
- 18
-
Very nice, I started imaging this object a few days ago. If weather permits I'll have an image by next week
-
The math tells you how much time you need to reach a certain SNR, nothing more. It goes without saying, the better the SNR the better the image
-
Indeed Vlaiv, For stars it's easier, for galaxies it gets tricky. If you have the raw stacked image, taken with a photometric filter 😄 (you will have to provide a zero point) you can use astrophot in python( Link ) to fit a Sersic model (or whatever model fits best) to that galaxy. If everything goes well you will have the radial profile and surface magnitude like this: The core of the galaxy here is around 19 surface mag, while the arms reach 23. This way you have the whole range of surface magnitudes from the core to the faint arms, and can compute the exposure time for each component. I have seen this approach in SkyTools software, where the imaging time is computed separately for the core and spiral arms and faint halo, but I haven't figured it out yet how it can be done without using the actual data. I quote from the Help file: This is similar to the approach I used in the earlier post for computing mags from spectra for stars. They most likely use the B-V colour index to derive the star temperature and make a synthetic black body spectrum. I think my approach of getting the GAIA parameters for the star and using the Phoenix spectra library is more accurate, but who knows. Also they use the user provided Bortle scale for sky brightness, although making a table with sky counts for each filter, using your own data, seems more accurate. I fail to see how you can go from Bortle scale to sky counts in a H-alpha filter or any filter for that matter. Resume quote: I don't know how the type of galaxy (Sb, Sc etc) relates to colour, and how you can go from that to object counts. For planetary nebulae, it's a simple matter of having the spectrum, so their approach seems fine, managed to do it alone.
-
Some may not want equal SNR in all channels, but the question of exposure time is often asked by beginners, and is a fundamental question even in pro work, when you have to establish how much telescope time you will need for your project. I had the very same questions when I started, and about 4 years back, Vlaiv was kind enough to share an excel spreadsheet for exposure time estimation. It really inspired me to dig deeper and learn about the scientific part of the hobby, so I thank Vlaiv for his insight and inspiration. I soon realised that if you want an accurate answer, it takes quite a bit of work. Even if you don't want equal SNR for your subs, you still have to pick an SNR in each channel, in order to compute the exposure time. Unfortunately, to have a good answer you have to do the math, either on paper, or by coding, or by excel etc. It certainly depends on the object, but broadly speaking, because colour filters have a smaller bandwidth than a L filter, you will receive less photons, so you will have to expose more to get good signal and good colour. Is it wrong to have good signal and good colour in a faint galaxy arm? It will make processing easier for sure, the colours will pop without too much effort. Also, I think the raw signal is certainly related to what you can achieve in processing. If you have 0 signal, no matter what you do in processing ,won't reveal anything. An example comes from the pros, where they don't use an L filter at all, but photometric filters, to make an RGB image. They usually aim for equal SNR in all channels, which translates into different exposure times for BVR, or sloan gri etc. Why complicate things and aim for different SNR in each band? Is it a saturation problem? Perhaps, but no matter what you do, there is a big chance you will have saturated objects (stars) in your image A simple answer could be expose until you are happy with the end result 😄. Joking aside one of these days I'll make an app for exposure time, had one before but it was not accurate enough so I started from scratch. Things get complicated when you want to know how much to expose for an emission nebula in H-alpha, OIII etc, and spectra are not always available for common objects amateurs go for.
-
It seems simple but is actually a difficult question, not because of the math involved but because of the accuracy of the parameters that have to be used in the math. In order to get an accurate exposure time for a given SNR, the most important factor is the sky brightness. Many professional observatories have tables relating the sky counts to moon illumination in different filters. To further complicate things, sky brightness changes during the night and the proximity of the object being imaged to the moon is also important. I started making tables relating the sky rate to moon illumination, and in makes a substantial difference than just relying on a ballpark sky mag chart. From what I found if you want to have equal SNR in all channels, you will have to expose more for RGB than L, contrary to what people are used too. A ratio for 1:3:3:3 is a good starting point (L:R:G:B) If someone is interested on how to get the sky counts from your images during a night session, the basics steps are simple: Calibrate the subs using darks and bias (flat is optional) Ideally mask the sources in your image (stars, galaxies) Compute the median value of the background Optionally you can get sky magnitude from counts, but not really needed for anything since we already have the sky count rate Do this for every frame acquired during the night, then take a median value (you will notice the sky rate changes during the night) I suppose the steps can be done in Pixinsight, maybe involving pixel math, but I work in python Here are the main steps in python: def calibrate_image(raw_frame, master_bias, master_dark): """ Preprocess a raw image frame by applying bias and dark corrections. Parameters: ----------- raw_frame : array-like The raw image data. master_bias : array-like The master bias frame. master_dark : array-like The master dark frame. Returns: -------- corrected_frame : array-like The preprocessed image data. """ # Bias correction bias_corrected = raw_frame - master_bias # Dark correction corrected_frame = bias_corrected - master_dark return corrected_frame def sky_brightness(sky_rate_electrons, gain, exposure_time, zero_point=27.095, image_scale=0.92): sky_rate_adu = sky_rate_electrons / gain total_sky_counts_adu = sky_rate_adu * exposure_time mag = -2.5 * np.log10(total_sky_counts_adu) + zero_point pixel_area_arcsec2 = image_scale ** 2 surface_brightness = mag + 2.5 * np.log10(pixel_area_arcsec2) return surface_brightness def calculate_sky_electron_rate(corrected_frame, exposure_time, gain): bkg_estimator = MedianBackground() bkg = Background2D(corrected_frame, (50, 50), filter_size=(3, 3), bkg_estimator=bkg_estimator) median_sky_level = bkg.background_median sky_electron_level = median_sky_level * gain sky_electron_rate = sky_electron_level / exposure_time return sky_electron_rate
-
Thanks Norris, Challenging Hubble is fun! With newer high QE Cmos cameras is even easier 😬, but for now I'm still stuck with an older CCD
-
How to get from spectra to magnitude?
dan_adi replied to dan_adi's topic in Radio Astronomy and Spectroscopy
Hi Andrew, In the end I solved the issue, although it took some time, and learning. See my post above -
How to get from spectra to magnitude?
dan_adi replied to dan_adi's topic in Radio Astronomy and Spectroscopy
Hi Vlaiv, So after some time of researching mostly through the synphot, astropy python libraries, I managed to crack the problem. So here it goes: Search GAIA database for a desired star Retrieve star radius, star temperature, star distance, star logg (surface gravity) Use these parameters to construct a star spectrum using the Phoenix spectra library Scale the spectrum to the value we expect above earth taking into account star distance and radius scale_factor = float(self.star_radius * u.R_sun / self.star_distance) ** 2 star_spectrum_scaled = star_spectrum * scale_factor 5. Correct the spectrum for airmass extinction def objectSpectra_below_atmosphere(self): extinction_factor = np.exp(-self.extinction * self.airmass) self.objectFluxBA = self.objectFlux * extinction_factor return Spextrum.from_arrays(waves = self.objectWave, flux = self.objectFluxBA) 6. Make an observation using the built in Observation class from synphot def _get_object_counts(self): throughput = self.myFilter_transmission() * self.mySky_transmission() * self.mySensor_QE_transmission() myObject_Observation = Observation(self.objectSpectra_below_atmosphere(), throughput,force='extrap') objectCounts = myObject_Observation.countrate(area=self.area) return objectCounts # e-/s 7. Retrieve the magnitude (to be checked with actual data from Simbad) of the star using whatever filters we want def _get_VEGAmag(self): return self.objectSpectra().get_magnitude(filter_curve=self.filter_curve, system_name="VEGA") def _get_ABmag(self): return self.objectSpectra().get_magnitude(filter_curve=self.filter_curve, system_name="AB") In the end I make a table like this for the star BD+32 2547 Simbad link: The flux density and magnitude are above the atmosphere, and the counts are below the atmosphere (corrected for airmass, filter extinction). Of course I had to determine the extinction coefficients for my Sloan filters .. The beauty of working with the spectrum is that you can model the expected magnitude in different filters even if the mags are not available for every filter you want. Further, we can test the accuracy of the prediction model. I took a 30 second exposure using the Sloan r' filter, and measured the peak counts in APT and compared the result with the prediction. The experimental peak value is 39534 ADUs. Now we use the theoretical computed counts to compute the peak ADUs (I computed the peak of a gaussian star model), for a range of exposure time intervals (the plot button on the right of the table): And the result is quite accurate, 40032 ADUs vs the experimental value of 39534. This makes the computation valuable if you want to know how much to expose in order to avoid star saturation. -
Thank you wimvb, I image from the worst possible place, sea level 😀. I'm in Bortle 5, so not so bad in terms of light pollution, but a lot o airmass. This season I will finish gathering the colour data, I only have 20 hours more to go, for a total of 300h (200h L, 100h color). For color I used a combination of sloan G, green, Sloan R filters for nice overlap between filters, inspired by this pixinsight article: tutorial I've split the colour exposure like this: Astrodon Green filter 50 hours, Sloan G 25 hours, Sloan R 25 hours
-
I would go for the triplet. Neither is top of the line, so might as well get better colour correction
-
Both are very good mounts. With the 10M mount you could go unguided if you pair it with a refractor. If the mount is in a permanent obsy, you will have to build a model once or twice a year provided that you don't change anything in your setup. Also because 10M tracks in DEC you don't have to stress about polar alignment either, the model will take care of it. So what scope will you use?
-
C11 EdgeHD Imaging and Collimation Woes
dan_adi replied to DeepSkyMan's topic in Discussions - Scopes / Whole setups
SCTs do one thing well, driving people nuts 😆 -
Finally got to finish the master Luminance at 203 hours on the Abell 2218 galaxy cluster. Still undecided if to add colour data, but it would be cool to reach 270-ish hours like the first Hubble Deep Field. Data was gathered over the summer of 2021,2022,2023. The best images of the cluster I found on Abin was Mortens and Howards. The image is on astrobin: Abell cluster Thanks for looking!
- 5 replies
-
- 11
-
Very nicely done 👍 You can always add more data later, in between other projects.
-
A little experiment using photometric filters for pretty pictures. Turned out to be a decent image, mostly limited by my processing skills The link to astrobin https://astrob.in/z4pz2q/C/
-
It's a great mount. Mine is 6 years old I think. Recently got a 10M 2000 HPS because I couldn't help myself :)) I did compare the mean eccentricity between the 10M and the Mesu and the difference is small in favour of 10M, kind of and unguided vs guided comparison. In fairly good seeing and good guiding the Mesu goes head to head with the top brands for sure and at almost half the price. A good mount!
-
Had a similar problem way back. After unparking the mount started skewing on its own with no input from me or other software. The motors went to blinky. The problem was a loose wire in the sitech II controller. Never liked the idea of the wires being exposed to the elements but what can you do ... Most likely it's a controller problem
-
How to get from spectra to magnitude?
dan_adi replied to dan_adi's topic in Radio Astronomy and Spectroscopy
Quite wright, If I take the V band mag from Simbad v = 2.02 and scale the spectra at that amplitude, and then convolve the synthetic filter with the scaled spectra, I get the same mag as the input. sp2 = Spextrum.from_arrays(waves=wave,flux=flux, flux_unit='FLAM').scale_to_magnitude(amplitude=2.02 * u.mag,filter_curve="./filters_ascii/johnson_V.dat") sp2.plot(flux_unit='FLAM') Plot Returned magnitude with V filter observation: v2= sp2.get_magnitude(filter_curve="./filters_ascii/johnson_V.dat", system_name="Vega") #output 2.02 mag So that means the color index only provides information about temperature, but not brightness. Makes sense distance is a factor in brightness, besides temperature. -
How to get from spectra to magnitude?
dan_adi replied to dan_adi's topic in Radio Astronomy and Spectroscopy
Returns this when plotted: But I do understand what you're saying. The b-v colour index I got from Simbad, I thought it encodes the intensity as well. Hmm, seems harder than I thought. I'm thinking of trying the other way around for fun, simulate the spectrum, then search the V band mag in Simbad, then scale the spectrum to that magnitude, then make a synthetic observation with the V filter and see if I get the same magnitude as Simbad. Scaling to the magnitude would basically underline your idea about brightness -
How to get from spectra to magnitude?
dan_adi replied to dan_adi's topic in Radio Astronomy and Spectroscopy
Hello Vlaiv, It is a theoretical exercise in synphot - python I make a source spectrum object that takes as argument Temperature [k] like this: sp = SourceSpectrum(BlackBodyNorm1D, temperature=bv.bv2T(0.60)) bv2T is a method in the bv object that returns temperature having b-v colour index as argument. I retrieve the wavelength and spectral flux density as arrays (and make unit conversion for flux): wave = sp.waveset flux = sp(wave).to(u.erg / u.s / u.angstrom/u.cm**2,equivalencies=u.spectral_density(wave)) then I make the same spectrum but with spextra library because it is easier to work with: sp = Spextrum.from_arrays(waves=wave,flux=flux) Next I make an observation using the V filter (it convolves the spectra and filter): integrated_flux= sp.get_flux(filter_curve="./filters_ascii/johnson_V.dat") # result is 4.737e-15 erg/s/cm2/A Also I get the magnitude easily: V = sp.get_magnitude(filter_curve="./filters_ascii/johnson_V.dat", system_name="Vega") # returns 14.69 # the mag V in a Simbad search is around 2.2 Given the difference I assumed I am actually computing instrumental mags, and I need a zero point for conversion to calibrated mags. -
How to get from spectra to magnitude?
dan_adi replied to dan_adi's topic in Radio Astronomy and Spectroscopy
Thanks Andrew seems to be what I'm looking for, but where do I find these equations? are they specific for a given catalog? I am referring to eq. B=B0 -13.028 - 0.01(B0 - V0) etc