Comments (6)
Proposed solution is here: 33207d2
This requires a redesign of the data interface layer. Right now we have orig_mat and plot_mat. The latter is thresholded for viewing contrast only. orig_mat on the other hand represents a working copy of the images that can get modified by cv and then passed to the network.
However, orig_mat and plot_mat are only 3 channels. For more channels (like the 12 channel data), we want to be able to swap the channels stored in both orig_mat and plot_mat while retaining the changes in orig_mat.
So here I added (in ch12image.py) another copy of the images: work_mat. This has all 12 channels. When channels are swapped, the contents of orig_mat are put into work_mat, and then the values of the new channels to view from work_mat are put into orig_mat.
This is big change in structure. So I will initiated a pull request that @vgenty should review. Maybe he will have a better solution more inline with his vision.
from larcv.
As promised: #26
from larcv.
Thanks for this fix, I don't have an issue with this method thanks for implementing. I didn't anticipate 12 channel image at all and I'm kicking myself in the butt during this whole process. The intermediate swapping matrix is necessary since with OpenCv the current set up and only operate on 3 channels at a time, swapping in and out is a fantastic addition. One more thing -- I notice that plotData had "refresh" as an input and it didn't look like it was being used so I removed, I hope this is OK
from larcv.
I will go in and make sure the image types -- false color and defaultimage follow the same procedure. Although as Kazu probably already mentioned it's probably better to have a standard way to load the image eliminating the need for someone to subclass PlotImage. I thought it was a good idea at the time but maybe blew up in my face when caffe interface came along. Growing pains!
from larcv.
forgot the commit number for plotData refresh: 57a13d1
from larcv.
Yes. Thanks for noticing the useless refresh variables! They were from a previous attempt. Then I decided to go with a new function (swap_...) entirely.
from larcv.
Related Issues (20)
- larcv python script crashes when larlite is configured HOT 8
- LArbys/caffe UseThread: false doesn't fill HOT 2
- Can't Open RGB Viewer HOT 1
- PyROOT issue in viewer (and proposed fix) HOT 7
- enhanced hoverrect
- segmentation image not showing up in v05 production! HOT 2
- minor: app objects rebuild when typing make, even if nothing changes HOT 2
- production tools HOT 2
- Segmentation Relabeling HOT 2
- New modules HOT 1
- Supera failure HOT 3
- [LArbys/cafef] IO optimization HOT 1
- develop branch missing DataFormat/ParticleMass.h HOT 4
- error: no class named 'CircularBufferBase' in namespace 'larcv' HOT 2
- compiler error with DBSCAN code when using GCC 4 HOT 6
- UBWireTool.cxx not build HOT 2
- [CRITICAL] <MultiROICropper::process> MultiROICropper.cxx::L50 EventImage2D size 0 <= target channel 0 HOT 6
- error running vertex code. giving <VertexAna::process> Cannot find nearest wire for (-1,-1,-1) HOT 4
- Running vertex container gives me this error HOT 2
- Lot's of warning from signed versus unsigned integer comparisons HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from larcv.