JavaScript is required to use Bungie.net

Destiny

Discuss all things Destiny.

This thread is inspired by another: view original post

Edited by freefall722: 2/17/2013 9:48:25 AM
25

Cleaning up the FFT data

[i]EDIT: We got an automation of this whole process up and running. Links below. Enjoy :)[/i] [i]EDIT: For Day 4 Bungie added a new wrinkle and split the output on different color channels. Following these steps now you'll have to threshold each color channel individually.[/i] [i]EDIT: For Day 6 they added rotation - so back to manual for now[/i] This is a description of how I made a clean image from the FFT output like the one attached (which used 8 separate images) Ok so the first thing is that you'll notice doing an FFT on an output image is that it gives you a pattern that looks very similar to the geomask image to the right - in fact it is exactly the same for every output/geomask pair. We can use this to know what data from the FFT is valid or not by using the geomask to mask the FFT output. Secondly we are going to assume that the final image will be black and white (no greyscale) so we can use a threshold to cut out the noise. Steps: *Download a output/geomask pair (I'm using these links - Mask: http://imgur.com/a/D1ORk , Image: http://imgur.com/a/0sno9 and the # in the link to make sure I download the right image from both for a pair) *FFT the output image (I'm using ImageJ for that then saving it out to a png for the remaining steps) *Apply the geomask as a mask to the FFT output (I used photoshop) --Open the geomask and copy all --Open the FTT output, unlock the background layer (double click it) --Got to Layer>Layer Mask>Reveal All --Go to the Channels window. Select and reveal the Layer mask channel --Paste the geomask image into the layer mask channel then hide the layer mask channel again --Go back to the Layers window and right click the image mask thumbnail and select Apple Mask (this makes pasting into other documents easier) *Use Threshold to remove the noise --Go back to the Layers window and make sure you have the layer thumbnail selected not the layer mask thumbnail. --Go to Image>Adjustments>Threshold - for the output given from ImageJ a threshold of 14 worked for every image (The important thing here is to have the threshold above the spike that represents valid data but below the small hump that represents the noise) From there I just kept pasting the resulting masked images into a blank psd with a light grey background. I used the light grey background so that I knew which sections I didn't have yet. This is very helpful since I could just go find another geomask that covered the sections I was missing. You don't have to do anything special to combine them since they are already cleaned and masked you can just keep adding them to each other. I'm sure this whole process could be automated as well - unfortunately for me the photoshop filter doesn't work on the mac version of photoshop otherwise this would be a pretty simply photoshop action to make. [i]EDIT: We got an automation up and running. New Links for all days: https://www.dropbox.com/s/goodiqip5g6x16l/finalMaskedOutputDay1.png https://www.dropbox.com/s/swcl4g03xyvos3l/finalMaskedOutputDay2.png Channels: [url=https://www.dropbox.com/s/tebx81swyh6hriv/finalMaskedOutputDay2_R.png]Red[/url] : [url=https://www.dropbox.com/s/kslecd24ftwx2fm/finalMaskedOutputDay2_G.png]Green[/url] : [url=https://www.dropbox.com/s/3zb1nki3j2vqv67/finalMaskedOutputDay2_B.png]Blue[/url] : [url=https://www.dropbox.com/s/wy6y49lmt2tj2v7/finalMaskedOutputDay2_BW.png]B&W[/url] https://www.dropbox.com/s/2p2gn23025o5vsg/finalMaskedOutputDay3.png https://www.dropbox.com/s/9lprjb1sl0j5ybb/finalMaskedOutputDay4.png Channels: [url=https://www.dropbox.com/s/ya54nju3py80lke/finalMaskedOutputDay4_R.png]Red[/url] : [url=https://www.dropbox.com/s/753z9d6iazkrh5v/finalMaskedOutputDay4_G.png]Green[/url] : [url=https://www.dropbox.com/s/8tuzb0426oa7s2w/finalMaskedOutputDay4_B.png]Blue[/url] : [url=https://www.dropbox.com/s/d5w605csj1ez86x/finalMaskedOutputDay4_BW.png]B&W[/url] https://www.dropbox.com/s/6u8114uvxph0noz/finalMaskedOutputDay5.png Channels: [url=https://www.dropbox.com/s/g299sie140ghw4o/finalMaskedOutputDay5_R.png]Red[/url] : [url=https://www.dropbox.com/s/x20m8m5psklpda8/finalMaskedOutputDay5_G.png]Green[/url] : [url=https://www.dropbox.com/s/zruwi7mwyinorev/finalMaskedOutputDay5_B.png]Blue[/url] https://www.dropbox.com/s/ouh14bh68ejev1e/finalMaskedOutputDay6.png Rotation (Split by hour): [url=https://www.dropbox.com/sh/a80l1mh2kpageyh/ReY4bepXwo]Folder[/url] https://www.dropbox.com/s/xn1n3vkhc38clfc/finalMaskedOutputDay7.png (I'll upload more after monitoring for a while) Enjoy :)[/i]
English
#Destiny #arg

Posting in language:

 

Play nice. Take a minute to review our Code of Conduct before submitting your post. Cancel Edit Create Fireteam Post

View Entire Topic
  • Edited by freefall722: 2/19/2013 3:18:14 AM
    Now that I've had some time to take a break I've gotten the automation code up. I was going to set up a git but since this Dropbox thing has been working out so well last week I just put it up there. (Feel silly because I could have done that awhile ago.) https://www.dropbox.com/sh/2tmhcdwhezb0gma/nnMNMT1ef1 I should also note (to spare my programming pride) that this code wouldn't win any design awards. It was written as quickly as I could type it - so it doesn't have much error checking, memory management (it definitely leaks), comments, or organization. It does do some cool things I'm proud of though, but because of the above I wouldn't use it as way to learn Obj-C ;)

    Posting in language:

     

    Play nice. Take a minute to review our Code of Conduct before submitting your post. Cancel Edit Create Fireteam Post

You are not allowed to view this content.
;
preload icon
preload icon
preload icon