Code Monkey home page Code Monkey logo

neutrino's Introduction

neutrino's People

Contributors

iltommi avatar aflux avatar

Stargazers

Remi Lehe avatar JDH avatar  avatar Christopher Huhn avatar Roman Yurchak avatar Guinslym avatar  avatar  avatar  avatar

Watchers

Chris Orban avatar  avatar  avatar Scott Feister avatar

neutrino's Issues

phase vs. fringeshift

what is labeled "phase" in the wavelet analysis is rather "fmod(fringeshift,1)". I propose to rename phase with fringeshift in the GUI and nPhysImage

colormap generation

Static colormaps in neutrino should be automatically generated from separate datafiles (one per colormap) with a standard format (eg. four columns ascii).

This colormap files can be or not generated by gnuplot (other possibilities include matlab, octave, python, ...).

A mechanism should be given to runtime load colormaps from file.

Status of Python Scripting?

Hello!

My colleagues and I have been using Neutrino's wavelet package to analyze interferograms, as an alternative to the IDEA software (http://www.optics.tugraz.at/idea/idea.html). Our interferometric setup is described at http://arxiv.org/abs/1406.3639. We are interested in developing Neutrino for real-time analysis of interferometric camera images.

Working through this problem, I have come up with a question for the Neutrino developers. What is the status of the Python scripting? Is it functional?

I have seen references to a GUI element related to the python shell, but it does not appear to be in the release. I am running v1.0rc release on 64-bit Ubuntu. When I follow the instructions on the wiki (https://github.com/aflux/neutrino/wiki/neutrino-python), I get an error. Here is what I have done:"

  1. Install Neutrino (.deb)
  2. Run Neutrino. It works fine. Close Neutrino.
  3. Run "python"
  4. From the python shell, enter "from PyQt4 import QtCore, QtGui, uic". No errors.
  5. Type the second line: "import PyNeutrino as pn". Receive an error:
    "ImportError: No module named PyNeutrino"

Any help you could give would be greatly appreciated!

Thank you,

Scott

Area-contrast normalize breaks contrast control

Once using Ctrl+click to normalize contrast to a certain area, nPalette does not refresh min/max values anymore. Steps to reproduce:

  1. open multiple images
  2. open nPalette
  3. cycle through images: min/max values are updated in nPalette
  4. Ctrl+click+move to normalize contrast
  5. cycle through images: min/max values aren't updated anymore

Documentation for building Neutrino?

Neutrino developers,

Congratulations on pushing out a new release! While you're at it, here's an idea that might help users like me quite a bit: a wiki page walking through your build process in a step-by-step way (or in an overview manner). I've previously run into substantial trouble building parts of Neutrino from source (and had others say the same). It usually was as simple as missing various dependencies (and/or misunderstanding the role of various configuration scripts and makefiles). A little writeup on "Our development setup/ how we build Neutrino" would alleviate a lot of that. Thank you!

-Scott

Windows bug

With Windows 7 professionnel (Pack Service 1), the wavelet analysis does not work.

histogram not updated

open an image, open the colorbox with the histogram.
do a blur.
whatever the blur, the histogram remains the same.
it looks like we should clear the content of the histogram somewhere (in TscanBrightness makes sense)

colormin and colormax per image

we should think about setting colormin and colormax inside a phys property.
We already discussed about this several times, but now with the properties things might have changed.

It would be really useful when working on images with very different dynamics between each other. Because in that case rescaling one would mess all the others, in both "percentage mode" and "fixed mode" available now.

debian compile (g++ (Debian 4.7.2-5) 4.7.2)

a couple of stuff for debian/mint build
nMakefile is broke (in italian: scazza):
some configure problems:

  1. doesn't look in /usr/{include,lib}, I have to add the prefix: ./configure --prefix=/usr
  2. says it can't find gsl :
    checking for main in -lgsl... no
    but it's there:
    debian@debian:~/neutrino/nPhysImage$ ls -l /usr/lib/libgsl.so
    lrwxrwxrwx 1 root root 16 Dec 15 2012 /usr/lib/libgsl.so -> libgsl.so.0.16.0

despite this using the prefix nPhysImage lib gets compiled

[leak] phys_resurrect_binary

the code below in phys_resurrect_binary is a sure leak
I would better uncomment the delete and return a null pointer

        // my_phys is passed as an argument: function shoud not mess around with it!
        //delete my_phys;
        my_phys=NULL;

anymap resurrection

Sometimes anymap/phys_properties has erratic behavior, mostly on .neus resurrection. Possibly uninitialised value.

writing tiff on mavericks crashes

Process: Neutrino [826]
Path: /Applications/neutrino.app/Contents/MacOS/Neutrino
Identifier: com.neutrino
Version: v1.0rc-22-g84ca631 (v1.0rc-22-g84ca631)
Code Type: X86-64 (Native)
Parent Process: launchd [264]
Responsible: Neutrino [826]
User ID: 501

Date/Time: 2014-03-05 11:56:53.013 +0100
OS Version: Mac OS X 10.9.1 (13B42)
Report Version: 11
Anonymous UUID: 6EA07200-BA5C-F659-2216-757DDB114860

Crashed Thread: 0 Dispatch queue: com.apple.main-thread

Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000

Application Specific Information:
Assertion failed: (value>=0.0), function TIFFWriteDirectoryTagCheckedRational, file tif_dirwrite.c, line 2084.

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x00007fff95737866 __pthread_kill + 10
1 libsystem_pthread.dylib 0x00007fff95c7535c pthread_kill + 92
2 libsystem_c.dylib 0x00007fff8d81abba abort + 125
3 libsystem_c.dylib 0x00007fff8d7e4a5f __assert_rtn + 321
4 libtiff.5.dylib 0x0000000100695a16 TIFFReadDirectory + 5210
5 libtiff.5.dylib 0x0000000100696894 TIFFReadDirectory + 8920
6 libtiff.5.dylib 0x00000001006988ec TIFFRewriteDirectory + 819
7 libtiff.5.dylib 0x000000010069ebc7 TIFFFlush + 343
8 libtiff.5.dylib 0x0000000100689aef TIFFCleanup + 32
9 libtiff.5.dylib 0x0000000100689c77 TIFFClose + 35
10 libnPhysImageF.so 0x00000001003e8539 phys_write_tiff(nPhysImageF, char const, int) + 1241
11 com.neutrino 0x000000010002c5c7 neutrino::fileSave(nPhysImageF, QString) + 343
12 com.neutrino 0x000000010002d2a7 neutrino::fileSave(QString) + 375
13 com.neutrino 0x000000010002d3ed neutrino::fileSave() + 45
14 com.neutrino 0x0000000100055920 neutrino::qt_static_metacall(QObject
, QMetaObject::Call, int, void**) + 2192
15 QtCore 0x0000000101c1d66e QMetaObject::activate(QObject_, QMetaObject const_, int, void**) + 1566
16 QtGui 0x0000000100fb4a11 QAction::triggered(bool) + 49
17 QtGui 0x0000000100fb5da4 QAction::activate(QAction::ActionEvent) + 180
18 QtGui 0x0000000100f68b7a QMacInputContext::reset() + 42154
19 com.apple.AppKit 0x00007fff999c33d0 -[NSApplication sendAction:to:from:] + 327
20 com.apple.AppKit 0x00007fff999de348 -[NSMenuItem corePerformAction] + 394
21 com.apple.AppKit 0x00007fff999de084 -[NSCarbonMenuImpl performActionWithHighlightingForItemAtIndex:] + 117
22 com.apple.AppKit 0x00007fff99a2d4dd -[NSMenu internalPerformActionForItemAtIndex:] + 35
23 com.apple.AppKit 0x00007fff99a2d359 -[NSCarbonMenuImpl carbonCommandProcessEvent:handlerCallRef:] + 104
24 com.apple.AppKit 0x00007fff999d4176 NSSLMMenuEventHandler + 716
25 com.apple.HIToolbox 0x00007fff8dea86d4 DispatchEventToHandlers(EventTargetRec
, OpaqueEventRef
, HandlerCallRec
) + 892
26 com.apple.HIToolbox 0x00007fff8dea7c87 SendEventToEventTargetInternal(OpaqueEventRef_, OpaqueEventTargetRef_, HandlerCallRec_) + 385
27 com.apple.HIToolbox 0x00007fff8debbd90 SendEventToEventTarget + 40
28 com.apple.HIToolbox 0x00007fff8def1a30 SendHICommandEvent(unsigned int, HICommand const_, unsigned int, unsigned int, unsigned char, void const_, OpaqueEventTargetRef_, OpaqueEventTargetRef_, OpaqueEventRef**) + 420
29 com.apple.HIToolbox 0x00007fff8df24618 SendMenuCommandWithContextAndModifiers + 59
30 com.apple.HIToolbox 0x00007fff8df245c4 SendMenuItemSelectedEvent + 178
31 com.apple.HIToolbox 0x00007fff8df244a5 FinishMenuSelection(SelectionData_, MenuResult_, MenuResult_) + 94
32 com.apple.HIToolbox 0x00007fff8df2c425 MenuSelectCore(MenuData_, Point, double, unsigned int, OpaqueMenuRef**, unsigned short_) + 718
33 com.apple.HIToolbox 0x00007fff8df2c051 _HandleMenuSelection2 + 446
34 com.apple.AppKit 0x00007fff9994679c _NSHandleCarbonMenuEvent + 284
35 com.apple.AppKit 0x00007fff997a556e DPSNextEvent + 2170
36 com.apple.AppKit 0x00007fff997a48db -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 122
37 com.apple.AppKit 0x00007fff997989cc -[NSApplication run] + 553
38 QtGui 0x0000000100f743b8 QDesktopWidget::resizeEvent(QResizeEvent
) + 12584
39 QtCore 0x0000000101c040e4 QEventLoop::processEvents(QFlagsQEventLoop::ProcessEventsFlag) + 68
40 QtCore 0x0000000101c04494 QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) + 324
41 QtCore 0x0000000101c06b7c QCoreApplication::exec() + 188
42 com.neutrino 0x00000001000540b2 main + 914
43 com.neutrino 0x0000000100006ff8 start + 52

colormap static load

static colormaps should be staticly written as

unsigned char * p = "\x01\x02\x03\x04...";

instead of

p[0] = 0x01; p[1] = 0x02; p[2] = 0x03; ...

anydata<string> replace newlines

When adding a nPhys string property, we should replace newlines with a tag (like ) and converting those back to newlines when getting the property

crash on nPhysImage::get_origin()

open image
open pan "region from path"
select region
hit "extract" button

debugger stops at a get_origin call in the nTics.cc::paint method

fix c++0x support

add a check for c++0x support in configure.ac and enable it to remove a lot of annoying messages

How to cite Neutrino in academic work?

Hi developers,

How would you prefer that Neutrino's interferometric analysis package be cited in academic work? Thanks for writing great software!

Scott

Python scripting: Cleanly exit Neutrino?

Hello!

Do either of you know how to cleanly exit a Neutrino instance created in Python? I especially am interested in completely clearing the memory.

Here is what I have tried:

# Below, n is the Neutrino instance, and q is Qt instance (per neutrino python wiki).
n.destroy()     # Closes main window, but leaves open other windows (such as Wavelet), and does not clear memory
n.close()   # Does nothing
q.quit()    # Does nothing noticable
del n       # Closes Neutrino, if I remember correctly, but does not clear memory and can cause faults

Thanks in advance!

Bug: anymap.h "accessing uninitialized value"

For a wide variety of functions (e.g. Wavelet analysis, FFT, etc.) I get the following warning, over and over, in my terminal window.

[WARNING] ../nPhysImage/anymap.h:89 (operator std::string) accessing unitialized value

The analyses still seem to execute without a problem.

phys_from_name and phys_name preservation in .neu load

Informations in fields phys_from_name and phys_name are correctly saved, eg:

@@ phys_properties
origin = (143.322:290.227)
phys_from_name = /home/alex/DEVEL/neutrino-newneus/neutrino/nPhysImage/testinterf.txt
phys_name = testinterf.txt
phys_orig = phys_file
phys_short_name = testinterf.txt
scale = (0.123:0.123)
@@ end

However, when reloading the .neu file, phys_from_name and phys_name are overwritten by the .neu filename.

I think this is the correct behavior, but original name should be preserved somehow (yet avoiding the loop name->old_name->old_old_name->[..]

Bug? Memory swells upon repeated (overwriting) Wavelet/Inversion analyses

Hello again! I noticed today a possible memory growth issue with repeated operations in Neutrino. When doing a Wavelet or Abel inversion, Neutrino's memory usage increases slightly even when overwriting a previous analysis. To be clear, since one is in overwrite mode, the buffer list does not grow -- the number of total buffers before and after the operation is the same.

The memory growth seems to be worse for the Abel inversion than the Wavelet analysis. The effect can be seen by opening a memory monitor (such as "top" in Linux) while repeatedly doing an Abel inversion in overwrite-old-data mode. The effect can be seen outside of python scripting, which convinces me it is not a python issue.

It's not very noticeable on single operations, but it is noticeable when scripting, where after a few hundred rapid repetitions Neutrino can take up a whole computer's worth of memory. A workaround is to restart Neutrino after a certain number of operations, clearing the memory.

Scott

relative min/max in contrast

When setting a relative min/max in nPalette, the values are not held after looping through other images.

Steps to reproduce:

  1. open to images with different dynamic
  2. set min/max visualization in the first image
  3. cycle images back and forth
  4. min/max visualizations have changed

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.