Giter Club home page Giter Club logo

compimage's People

Contributors

yuhhey avatar

Watchers

 avatar

compimage's Issues

Image sequence display

Given a valid sequence parser configuration,
After the parsing is executed,
As a user I want to see to thumbnails of the image sequence when I click on a sequence node in the treectrl.

Generator based operation fail

CompositeImage module implements generators to execute steps of the workflow. There are 2 generators:

  1. Create symlinks to images identified as parts HDR sequences into a common directory specified by and 'hdr_config' object.
  2. Generate the HDR images specified by and 'hdr' sequence and an 'hdr_config' object.

These generator based operations are linked to the popup menu of both the directory and the image sequence nodes in the TreeCtrl.
The symlink handling on a directory node is not implemented.

The recursive execution of the symlink generator shall be fitted to the threaded operation:

  • Max one thread executes it
  • Executed recursively in all subdirs and on hdr sequence nodes.

Using 'treeIterator' with the WorkerThread and the events is to be implemented.

Sometimes only 2 worker threads are active.

Must be a race condition with the termination of threads and executeNext counting the active threads. threading.join could be used in the onCommandUpdate thread callback.

Macros in HDR config

In the current implementation

  1. There are path and prefix parameters in hdr_config.
  2. image sequence configurations are used in the directory tree hierarchy: A directory without dedicated hdr_config climbs the tree until it finds one on higher level.

This setup cries for macros. E.g. $basename:
Target dir: /tmp/$basename
prefix: $basename

would create the following directory structure /tmp/{os.path.basename(path)} when recursively processed. The HDR output files would be named {os.path.basename(path)_#.TIF

Make the root of the tree editable.

Right now the browsing is limited to the subtree of the original root of the treectrl.
The root item shall be editable to access any files in the filesystem.
Option B could be a to create a special root expander which has a popup menu item to open a directory dialog.

GUI responsivness

There are long lasting operations:

  • generating HDRs of HDR sequences
  • identifying image sequences

This shall not affect the responsiveness of the UI. As many operations as possible shall be available, however the availability of operations can be limited. Examples:

  • operation that affects the running long action
  • long operations
  • ...

Config inheritance

All of the subdirs in any of the subtrees of the treectrl shall use the configuration specified by the config item in the treectrl closest to the node on the way to the root of the tree.

Proper thread handling

The worker thread, the one that do not run the wxpython mainloop executes GUI operation. It causes random crashes. Find where it happens and fix it.

Cancel recursive operations

New button to cancel the recursive operation being executed is needed.Operations on a single tree item can not be cancelled easily (i.e. without modifying the underlying module implementation).

progress animation

roller-?_16.png files contain the phases of the animation.
Those shall be loaded in the init

The timer and callback are set up, so after loading the images it can be tested.
http://docs.python.org/2/library/pickle.html load the images once, then dump the datatypes into string. Store the strings in the file and use to reconstruct the images. No external image files are needed.

Reparse directory

Remove the result of the previous parse and parse again with the possibly new parameters.

Implement Exif value checker

Checks the value of images for the same or a predefined value. Checking for same value is identified using 'None' for the predefined value parameter.

Sequence searcher config node

The parameters used in the composite image search are displayed as items in the treectrl.
An object to represent the config is needed.
A way to expand it in the treectrl also needed.

Object factory for the right click menus

There are different types of items in the treectrl. Operations on the items can be accessed through a popup menu. We shall define different menus for different item types. The actual item info shall be passed to the menu callback.

Distinguish different types of image sequences

Max a single config object is paired with each directory. There is only one prefix field. Parsing a directory might result e.g. HDR and panorama image sequences. Any operation will use the single prefix
Image sequence specific extension of the prefix shall be the solution.

Visualization of sequence amounts

Having a huge directory structure of images with possible sequences, as a user I want to see if a directory contains and image sequences.

The directories without sequences still shall be visible,because configuration changes might result new sequences.

HDRConfig shall keep track of indexing of output

It is possible that more than one directory is parsed using the same HDRConfig object. The output folder of those execution is the same folder.
The indexing of the HDR output filenames starts from 0 for each folder->overwriting of output files happen.
HDRConfig object shall have a getNextIndex method to return the indices to be used.
HDRConfig makes sure these are unique as long as the HDRConfig object exists.

Magic lantern HDR sequence identification

Magic lantern (ML) HDR sequences can be identified using the shell script generated automatically during shooting by ML. Bracket mode and bracket value exif fields are not set, there the generic checkers miss these images.

Configuration for different types of sequences in the same directory

The key to the config dictionary is the directory or the target directory of the identified image sequence. This was fine until only HDR sequences could be identified.

Panorama and focus stack sequences can be identified too. So a single index/directory is not enough.
Solution idea:

/path/HDR/outputpath_hdr
/path/Pano/outputpath_pano

Save HDR configuration

As an end user I want to save the hdr configuration on directory basis.
[Simple implementation: pickle hdr_config_dict]

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.