Since Google is no longer our friend[1], thus finding the things we are looking for has become harder and harder[2], I decided to assemble a few things that help me tame JSol’Ex.
JSol’Ex Repo: https://github.com/melix/astro4j
Help/Docs (at ImageMath): https://melix.github.io/astro4j/latest/fr/jsolex.html#imagemath
Extracting the Hydrogen Epsilon line, like it was He I D3, simple version (where, relative to CaH, epsilon is at +25px)
[outputs]
epsilon = min(range(23,27,1))
kontinuum2 = avg(range(14,18,1))
delta2 = fix_banding(epsilon – kontinuum2, 100, 50)
prime_stretched2 = linear_stretch(epsilon * delta2 + delta2)
prime_rot2 = rotate_rad(prime_stretched2, angleP)
A verbose and more complex version of the epsilon script:
So a little bit more context
epsilonLineIsAtPixelShift = 25
epsilonContext = 2
kontinuumLineIsAtPixelShift = 0.64 * epsilonLineIsAtPixelShift
kontinuumContext = 2
epsilonRangeLeft = epsilonLineIsAtPixelShift – epsilonContext
epsilonRangeRight = epsilonLineIsAtPixelShift + epsilonContext
kontinuumRangeLeft = kontinuumLineIsAtPixelShift – kontinuumContext
kontinuumRangeRight = kontinuumLineIsAtPixelShift + kontinuumContext
[outputs]
epsilon = min(range(epsilonRangeLeft,epsilonRangeRight,1))
kontinuum2 = avg(range(kontinuumRangeLeft,kontinuumRangeRight,1))
delta2 = fix_banding(epsilon – kontinuum2, 100, 50)
epsilonPrime = epsilon * delta2 + delta2
epsilonPrimeLinear = linear_stretch(epsilonPrime)
epsilonPrimeAsinh = asinh_stretch(epsilonPrimeLinear, blackPoint, 100)
epsilonPrimeLinearRotated = rotate_rad(epsilonPrimeLinear, angleP)
epsilonPrimeAsinhRotated = rotate_rad(epsilonPrimeAsinh, angleP)
epsilonPrimeLinearAsinhAvgRotated = avg(epsilonPrimeAsinhRotated, epsilonPrimeLinearRotated)
kontinuum2LinearRotated = rotate_rad(linear_stretch(kontinuum2), angleP)
Then a Magnesium script I cooked up, with and without banding correction, as a blend of the two could be more useful than the individual frames.
[outputs]
rawMg = min(range(-1, 1))
rawMgB = fix_banding(rawMg, 100, 50)
rawMgBL = linear_stretch(rawMgB)
rawMgBLRot = rotate_rad(rawMgBL, angleP)
rawMgL = linear_stretch(rawMg)
rawMgLRot = rotate_rad(rawMgL, angleP)
Some Helium jokes
He_offset = -142.8
He_context = 1
He_step = 1
kontinuum_offset = -10
kontinuum_context = 3
kontinuum_step = 1
kontL = kontinuum_offset – kontinuum_context
kontR = kontinuum_offset + kontinuum_context
HeL = He_offset – He_context
HeR = He_offset + He_context
[outputs]
HeRaw = min(range(HeL,HeR,He_step))
kontinuum = avg(range(kontL,kontR,kontinuum_step))
kontinuumLinearRotated = rotate_rad(linear_stretch(kontinuum), angleP)
delta2 = fix_banding(HeRaw – kontinuum, 100, 50)
HeLog = linear_stretch(log(HeRaw, 2))
HeLogHeRaw = linear_stretch(pow(HeLog + HeRaw, 1.2))
HeMul = linear_stretch(HeLogHeRaw * delta2)
HeMin = min(HeLogHeRaw, HeMul)
HePrime = linear_stretch(HeLog + HeMin + linear_stretch(pow(HeMin,4)) + linear_stretch(pow(HeRaw,2)) + HeLogHeRaw)
HePrimeRot = rotate_rad(HePrime, angleP)
HePrimeRotP = linear_stretch(pow(HePrimeRot, 1.1))
HePrimeRotFinal = linear_stretch(avg(HePrimeRotP, HePrimeRot))
[1],[2]
https://www.reddit.com/r/google/comments/si5itm/what_happened_to_google_search_it_has_become/
https://en.wikipedia.org/wiki/Enshittification
and no, I am not going to use some Microsoft abomination masquerading as a search engine.