Coder Social home page Coder Social logo

maxthemouse / multipleimageradiography Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 230 KB

Analysis of data for Multiple Image Radiography

License: BSD 3-Clause "New" or "Revised" License

Python 40.93% Jupyter Notebook 57.69% PowerShell 0.10% Shell 1.28%

multipleimageradiography's People

Contributors

maxthemouse avatar

Watchers

 avatar

multipleimageradiography's Issues

Use a configuration file

One issue I run into when developing is making sure that there is no sensitive information left in the notebooks. For example, the path to the data can have project numbers, sample names and the like that should not be saved in git. Using a configuration file would make it easier to default to generic values while making it easier to save project specific values that can be saved with the data.

Multi-threading

Look at multi-threading or multi-processing to improve performance.

Update to Python 3

The code was updated to Qt-5. Would like to update to Python 3. This was actually done once and then reversed due to installation issues. Hopefully, these issues are not an issue now.

Missing items from settings

While making the settings page it was noticed that there are two items that are not possible to put in a JSON file

  1. output = io.Text_Output()
  2. image_filter = scipy.ndimage.median_filter

These are objects. These objects are used to use specific functions where there are multiple options. These have to be put in at the appropriate time and are not particularly documented. These should be replaced or removed.

Documentation

Currently there is an out of date docx file which is not in the repo. It needs to be updated. I also want to pick a better format such as markdown or even rtf.

Move stitch function into python file

It seems like a useful thing to move the stitching function into a python file for import. This would make it available for use in other scripts. I assume that it was done in the notebook as a way of development.

Switch to numpy.polynomial

Current advice is to use numpy.polynomial instead of the older numpy.poly.
The fitting is supposed to be more numerically stable. Note that the coefficients are in the reverse order. The documentation has equivalents to change code.

Add new algorithm

The paper " A Gaussian extension for Diffraction Enhanced Imaging" has an algorithm for estimating the absorption, refraction and scattering portions of diffraction images. This is different than the Taylor series-based equations that I am using. I would like to add the newer equations as they may be better for some samples.

Do all data in a folder of data

It should be possible to set-up doing all calculations for data in a folder. I.e. all samples. This should include multicalc, synthetic images, stitching and being able to add new calculations.
This probably could be done in notebooks but actually having a mechanism would be nice.

Clean-up options

There are lots of options that are not implemented. Some of them have to do with manual file naming and ideas on what might be interesting to work on. These need to be cleaned up and either implemented or removed. This will also improve the GUI.

Port to Julia?

The performance is not ideal although not a severe issue, in my opinion. Other people may beg to differ. One idea would be convert to Julia. That changes the requirements but may not be overly onerous.
Polynomials.jl seems to have the fitting function needed although weights are defined differently. Reading tiff and bigtiff files will need to be supported. Looks like TiffImages.jl might be a good fit but need to test if 8/16 bit integer and 32 bit float are all supported.

Update notebooks

I left out the Jupyter notebooks but there are a few that were created for testing and as a possible way of using the software. Would like to clean-up and and re-add the notebooks.

Windows Installer

I have created some installers but I think most don't actually work. I have tried several tools and it is not clear what actually works. One issue is that the resulting distribution is missing files so it doesn't actually work if the computer doesn't have Python installed in the same place as my machine.

I think py2exe was working and cxfreeze was not. I suspect the code is a now a mixt of the two, i.e. setup.py and this needs to be fixed. It should be assumed that the building of a windows application is broken.

Support BigTiff

Recently collected data was in bigtiff format. Need to support reading and writing bigtiff format.

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.