Monday, July 19, 2021

Astrophotography Post vaccine!

Why Astro?

I've got the bug. I love astrophotography. It requires the combination of mechanical, electrical, software engineering and art skills all in concert. For it to work, it really requires a perfect timed sequence of the system to produce a favorable image. When it happens its like a symphony.


Portable Config

- Tripod from amazon (Neewer Camera Tripod Monopod Carbon Fiber with Rotatable Center Column)
- William Optics base "for iOptron Skyguider Pro" (fantastic upgrade)
- Skywatcher Star Adventurer 2
- Canon T7i astromodded
- Redcat51 (250mm Focal Length)
- ASI290MM Mini + Uniguide 32mm/120mm FL
- SVBony Reddot
- 3D Printed and attached Seagull 1x,2x right angle finder to polar scope
- MiniPC (J4125 Celeron quad core processor) + 10" LCD screen (~10 Watts)
- Jackery 300 Watt portable battery bank




Bazooka Config V1 (DSLR)

- EQ6-R Pro Mount
- Celestron 9.25" SCT Telescope (2350mm FL and F/10)
- ASI290MM Mini + 50mm guide scope (removed eyepiece and 3D Printed adaptor)
- Canon T7i astromodded with light cover for eye piece
- SVBony Reddot with 3D Printed 90deg adaptor
- Starizona F.63 Reducer & Corrector IV (reduces to 1525mm FL and F/6.5)
- Celestron 2" Visual Back
- 3M taped wire routing plastic clips
- Dew heaters + Controller for C9.25 and guide scope
- Jackery 300 Watt portable battery bank or Marine Deep Cycle Battery (100 Ah)

Bazooka Config V2 (Mono Astrocam)

- upgrades beyond V1 includes ZWO ASI294MM-Pro Camera
- ZWO EAF (not installed yet) - for automatic focusing
- ZWO EFW (installed) - for automatically switching filters (this lets us get color with a mono camera)
- OAG installed... backfocus is a pain! I still don't have it perfect. I have some coma or tilt.

First indoor setup on artificial star









Installing Narrowband Filters (Antilia LRGBSO)










Example Pictures

Western Veil Nebula @ 1525mm - shot from Bazooka config V1 from backyard (Bortle7) from 2.5 hrs of data.

This is my first narrowband image (LRGB) stacked each channel in DSS individually, then combined in GIMP. 10 minutes of exposure on each channel.





https://en.wikipedia.org/wiki/North_America_Nebula I shot this from Oregon with 30 minutes of 60 second exposures stacked. Captured with my Canon T7i, 135mm F2 lens, a UHC filter, and a star tracker. This was the Portable Config.


Tuesday, March 30, 2021

Canon T7i-Astrophotography Mod

I bought a refurbished Canon T7i with the intention of modifying it (removing the IR cut filter) to make it suitable for nebula gas emission astrophotography. I tried buying all these external astronomik special filters (e.g. UHC EOS APS-C Clip filter, and CLS EOS APS-C Clip Filter) to filter out city lights - this helped a lot, but never compared to the top notch photos on the internet. I've got the itch for full spectrum! That was it. I set out on the scary attempt at removing the built-in IR cut filter (voiding my warranty):

I roughly followed the guide by Gary Honis on:

  • http://dslrmodifications.com/rebelmod450d1.html
  • https://www.youtube.com/watch?v=7huA4R9rXrQ
Guide deviations for T7i
This was reasonably close to the T4i guides. 
  1. I found that there was screw hidden under the T7i logo instead of needing to peel back the rubber grommet material as described in the guide(it's permanently attached - so don't do that).  There were several other screws that didn't quite match the guides. I deduced it carefully, and recorded my whole process. I may publish a written/video guide later.
  2. I installed the Astonomik MC-Klarglas EOS1000D filter. It was a tight squeeze and fractured the edges a little bit as I snapped the metal housing back on it - glad it was crack resistant (at least in my case).
  3. There were a lot more connectors, and using the toothpick was great for gently handling the connectors. It's definitely an art to manipulate. I damaged one of the black connectors... even with a toothpick!!! Sheesh, fragile hardware. (I later touched it with a soldering iron momentarily to reseat it - slide board discoloration)
Now to test it on some nebula tomorrow!

First moment firing it up. You can see infrared light from TV remote in the camera, but not on the iPhone!


Lots more connectors

(Hidden Screw behind logo)





Monday, March 1, 2021

Mars is cool!

 https://mars.nasa.gov/resources/curiositys-1-8-billion-pixel-panorama/?site=msl

This is probably worth a look! Things I noticed:

  • Can see that the tire has a hole in it. Some interesting material science considerations there. Maybe make it metal next time? Although compliant materials, have likely better traction.
  • You can see some sort of conglemerate/sandstone rocks nearby. Probably telling about history of mars. Compaction? Fluid? Did it ever get exposed to lava, or a fluid flow to make this rock?
  • Dust accumulation on curiousity... it's definitely been in some weather events.
  • Aruco Fiducials all over the rover for camera calibration - cool! I wish I knew the dimensions of those markers.
  • It's also interesting that kapton tape is just all over the wire bundles without any additional protection!


Unity Namespaces - passing variables

In a unity project I was working on, I was having a heck of a time passing variables between a 3rd party plugin I'd downloaded and was splicing into (ROS Sharp) because I was trying to make some custom ROS messages. The problem is a default unity project script doesn't have a default namespace, so I defined some public static variables in the 3rd party plugin scripts where I needed to handle my custom message. defining some get/set methods enabled me to access it from my project (which others had touched and was filled with a cluttered set of related scripts that I really didn't want to try and encapsulate in its own namespace.)

Anyway the solution was found here:
https://stackoverflow.com/questions/740937/accessing-variables-from-other-namespaces


Key Lessons for Unity Projects:
  • Own Namespace (best practice) - Probably good practice to change default unity project script with its own namespace. This is probably good so you don't have conflicts when you bring in 3rd party assets and c# plugins. Probably annoying to setup, but i can imagine this helping tons in big multi-user projects (like the one i'm working on)
  • static variables - sort of like a global variable that shouldn't change much, and here's the kicker - can be accessed everywhere. "A static class cannot be instantiated. All members of a static class are static and are accessed via the class name directly, without creating an instance of the class." This is handy because I don't want to instantiate the class a million times.


PS - I need to play around with https://catlikecoding.com/unity/tutorials/flow/texture-distortion/




Friday, February 19, 2021

Messing around with PostgreSQL

While attempting to look into quantitative stock analysis with a friend we looked at:

But before we could really get going on these tutorials we needed an SQL database, these helped:

Data I'll be digging into:


First successful data load! 

Few quirks I learned and worked out after a couple hours of stack overflow:
  1. Load data from Query line is better - although the gui is ok. Learning the syntax is the hard part. (See example in image)
  2. I get the impression loading each table one at a time is best practice. Turns out this data was huge. Like 253 Million Rows for just one of the files. This became apparent as I tried to edit it with notepad++. I ended up just killing it after waiting 10 mins. Took 5 seconds to load. Wow this is powerful. (When i got it right lol.)
  3. postgreSQL is picky about inputs and data types - like extremely... I tried like 50 query statements until I got one that works.
  4. Permissions to access the file was an issue, likely due to windows file permissions. Moving it to another drive is what I took it out of the windows permissions ecosystem. (alternative was to add everyone user permissions to the files.) Running as administrator didn't work.
  5. I ended up just deleting the header line manually because it only works properly for actual csvs. My file was a .txt. and converting it to .csv was computationally infeasible... Big DATA!