Giter VIP home page Giter VIP logo

clouds-analyzer's Introduction

Introduction

Do you have a picture and want to know if it is a fractal?

We might be able to help you!

Clouds Analyzer is a computer program that specializes in computing fractal dimensions of images in diferent ways.

You can also generate some very elementary fractlas (some of which have a well known fractal dimension) as a test ground for your images.

It started up as a tool to test if turbulence occurs in molecular clouds in the interstellar medium, the sites of star creation.

It has also some very elementary tools to manipulate images.

But you can use it for simpler stuff too, I think.

What can I do

  1. Create some very basic fractals
  1. Measure fractal dimensions of these fractals:
  1. Load some images (2D) and make some analysis on those images:
  • Convert the color image to a grey scale image
  • Make it black and white with a particular threshold
  • Detect borders
  • Measure fractal dimensions of this image

Build instructions

In any Linux system, just change to the source directory and

  • qmake
  • make

The binary executable is called CloudsAnalyzer

Dependencies:

I use the wonderful Qt4 for all the UI and FFTW3 for the Fast Fourier Transforms

  • Qt4
  • FFTW3 (sudo apt-get install libfftw3-dev on my Linux box)

Images

A generated cloud with its Area-Perimeter dimension:

clouds

The same cloud, computing the box-counting dimension of the "border" of the cloud:

box counting

TODO

Soooo many things.

  1. ROADMAP!
  2. Clean code. Well, I am a programmer now.
  3. Improve UI
  4. Add documentation
  5. Add more test fractals. Maybe using Lua as an scripting language or javascript.
  6. Documentation
  7. ...

DOCUMENTATION

Github pages

CREDITS

This program started as part of the thesis of Sandra Ocando and is now maintained by N. Hatcher. If there is something that interest you here please contact me.

clouds-analyzer's People

Contributors

nhatcher avatar

Watchers

 avatar James Cloos avatar Maribet Gamboa avatar

clouds-analyzer's Issues

Codding standards

The code right now has zero codding standards. It would be nice to try to be homogeneous.

Hints:

variable, function, class naming

What kind of structures, class use (friends, inheritance, new vs malloc...)

Is there any good document out there?

http://www.possibility.com/Cpp/CppCodingStandard.html
http://wiki.qt-project.org/API_Design_Principles
http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml
http://geosoft.no/development/cppstyle.html

Please separate codding standards from codiing style

Write some mild documentation

Documentation should be provided that helps a possible user with the program.
CSS+HTML is preffered.

We may think in a way of embeding the documentation in the program, or the help in the program could be an alltogether different issue..

Documentation can be pedantic/didactic. A fractal can be defined, etc...

Separe Qt4 from computation

The actual computations of fractal dimensions, TEM, etc should be completely independent from Qt4.
Examples should be provided that proof this concept.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.