Current Server Time: 00:21 (Central Europe)

#apertus IRC Channel Logs

2019/02/22

Timezone: UTC


23:13
BAndiT1983
changed nick to: BAndiT1983|away
23:19
abeljj
joined the channel
23:31
intrac_
changed nick to: intrac
00:08
abeljj
left the channel
02:12
Y_G
left the channel
02:51
futarisIRCcloud
joined the channel
06:00
LordVan
joined the channel
06:03
Bertl_zZ
changed nick to: Bertl
06:03
Bertl
morning folks!
06:26
parimal
joined the channel
06:26
parimal
Morning Bertl
06:29
Bertl
hey, could you resolve your issues?
06:55
BAndiT1983|away
changed nick to: BAndiT1983
07:01
parimal
left the channel
07:04
se6astian|away
changed nick to: se6astian
07:23
ItsMeLenny
joined the channel
07:41
Y_G
joined the channel
07:45
intrac
changed nick to: intrac_
07:47
Y_G
Morning People,regarding T734 Is the input for processing histogram, the sensel data dump from CMV12K ?
07:50
BAndiT1983
source code tells me, that the sensel buffer is used -> https://github.com/apertus-open-source-cinema/axiom-beta-firmware/blob/master/software/sensor_tools/hist/hist.c
07:51
BAndiT1983
changed nick to: BAndiT1983|away
07:52
BAndiT1983|away
changed nick to: BAndiT1983
07:53
Y_G
Does the dump contain information about the image too,like the width and height ?
07:55
BAndiT1983
which dump?
07:55
Y_G
the CMV12K one
07:56
BAndiT1983
there is no dump involved there, it reads from mapped memory
08:09
Y_G
So what are we basically reading ?
08:10
BAndiT1983
sensor data
08:11
Y_G
basically 4 sensel R,G1,G2,B packed together ?
08:11
BAndiT1983
yes
08:12
Y_G
Thanks,Also I read that this task was listed last year too,What new things are we expecting this time
08:13
BAndiT1983
only the surface of the topic was scratched, now it needs to be extended further
08:14
BAndiT1983
but you have to ask Bertl or alexML about details, they are listed as mentors
08:15
Y_G
I don't see any files for Vectorscope and Waveform,do we have to implement it from the scratch ?
08:15
Y_G
If there are files could you please direct me to them
08:15
BAndiT1983
also packing it into some sort of lib, to be usable from control daemon would be good, as the data should also be used for web UI
08:16
BAndiT1983
yes, that's why the links were given as background info
08:16
Y_G
Yes,that would be good
08:16
Y_G
So vectorscope and waveform from scratch ?
08:16
Y_G
Nice
08:17
BAndiT1983
as far as i see yes, from scratch
08:17
Bertl
https://github.com/nmdis1999?tab=repositories
08:18
BAndiT1983
ah, right, Iti was on it
08:18
BAndiT1983
why isn't it merged into some apertus repo?
08:18
Y_G
I wondering the same
08:18
Bertl
mostly because it was proof of concept work and we didn't have the time yet to work through it
08:19
Bertl
this is also the main reason why it is up for GSoC 2019 again
08:20
BAndiT1983
can't we create some unified tool? as the data acquisition is always the same and making multiple copies is not that good for maintenance
08:21
Bertl
yes, the important aspects as discovered during the GSoC 2018 are that the data readout (CPU side) needs to be very efficient and might require some FPGA support to make it really useful
08:21
BAndiT1983
downsampling/interpolation in fpga?
08:21
Bertl
also the visualization of the extracted data needs to be considered and implemented
08:22
BAndiT1983
i also need a data at some point for web UI, we have to think where to place the processing
08:22
BAndiT1983
*to think about
08:22
BAndiT1983
and last but not least, it's also required for overlay later
08:23
BAndiT1983
maybe we can add functionality as daemon module?
08:23
Bertl
no problem with that
08:24
Bertl
main focus, as I said before, is to make it reasonably performant so that it is actually useable on the camera
08:25
BAndiT1983
were some benchmarks done already?
08:25
Bertl
this very likely requires to dig into ARM details probably including VFP and NEON
08:25
BAndiT1983
oha, sounds very interesting
08:25
BAndiT1983
looked at SIMD lately for debayering, which takes similar route
08:26
Bertl
and to figure out how to efficiently subsample data without losing information
08:28
BAndiT1983
is interpolation involved? or can we push out the data packed, like all known R values, then G, thne B?
08:31
futarisIRCcloud
left the channel
08:31
Y_G
@Bandit1983 Wouldn't that cause aliasing?
08:31
Bertl
not sure what you mean with 'push out' :)
08:32
Y_G
Subsampling without interpolation
08:33
BAndiT1983
if we omit empty values, it would save some processing time
08:36
Bertl
empty values?
08:36
BAndiT1983
maybe starting with 2x2 area for first tests, would allow benchmarking, afterwards we can extend it with acceleration
08:36
BAndiT1983
R has only a quarter of sensel values, also B
08:37
Bertl
I think it's fine to either drop one green channel or just sum/average them
08:37
BAndiT1983
it's better to average, as we've seen a bit different G1 and G2 contrasts before, maybe the cause was something different
08:38
BAndiT1983
but this can be prepared in FPGA, right?
08:40
Bertl
we need to consider that those features are not stand alone, i.e. there is no point in having 'only' a histogram or similar, you want to be able to get it in addition to normal image acquisition
08:40
Bertl
which means that you cannot simply change the data in the FPGA ...
08:41
BAndiT1983
of course, as individual histograms belong to certain frame
08:42
BAndiT1983
can't we use additional buffer for R, (G1+G2) / 2 and B data?
08:42
BAndiT1983
if we let calculate the values of G in FPGA, this would remove the need to do it on the ARM side
08:43
Bertl
that would instantly double the required bandwidth for litte to none gain
08:44
BAndiT1983
ok
08:46
BAndiT1983
funny, there are actual question on stackoverflow in that direction -> https://stackoverflow.com/questions/38501529/how-to-optimize-histogram-statistics-with-neon-intrinsics
08:58
ItsMeLenny
left the channel
08:59
parimal
joined the channel
09:00
parimal
left the channel
09:09
parimal
joined the channel
09:09
parimal
Bertl, no I am in college so didn't find time. Today I will work on it again
09:10
Bertl
okay
09:11
parimal
Can you please answer that query I asked earlier? Or will it give too much information regarding the task :p
09:13
Bertl
which one?
09:13
parimal
" If the first red pixel value is 8, in the raw ppm file, this would translate to 1000 0 0 in the red ppm image data, right? Since blue and green are 0 each and 8 is 1000 in binary"
09:13
Bertl
well, that is a little out of context but in general sounds fine, so most likely not your issue
09:14
BAndiT1983
parimal, have you looked at the binary file with a hex editor?
09:14
Bertl
I'd suggest to use a tool to convert between ascii and binary PPM versions (like convert from imagemagick) amd compare the results
09:15
BAndiT1983
it should show something like 0x8 0x0 0x0
09:16
parimal
No I didn't, I use sublime text and there it shows just binary as 0100 0000 0000
09:16
BAndiT1983
??
09:16
parimal
You are talking about the raw ppm file right?
09:16
BAndiT1983
what is raw ppm?
09:16
parimal
Check this image - https://pasteboard.co/I2dxNg3.png
09:17
parimal
As the task requests, I converted the red channel to a ppm file, is it correct?
09:17
BAndiT1983
can be
09:17
parimal
On the documentation of ppm file, it says "RAW ppm uses pure binary whereas Plain ppm uses decimal"
09:18
parimal
That image I got, I have used decimal values to represent each pixel.
09:18
BAndiT1983
ppm uses deciaml as usual for text format
09:18
parimal
oh...
09:19
parimal
So I got the right images then
09:19
parimal
"Save the channels (separately) as valid image files (8 bits per pixel) named appropriately without use of any external libraries (e.g. openJPG/lodePNG). (Hint: PPM file format)"
09:20
parimal
I saved the 4 channels as 4 ppm files, I guess I am on the right track?
09:20
BAndiT1983
at least red channel looks like it, but i'm more interested in the final source code, image results are just an indicator for me that the code works
09:20
parimal
Yes I know I was just confused in which ppm format I should be using
09:20
parimal
raw or plain ppm
09:20
BAndiT1983
have you extracted the 8 bit from 12 bit?
09:20
parimal
yes I did
09:20
BAndiT1983
shifting?
09:21
parimal
done
09:21
parimal
yes using shifting and concatenation
09:21
BAndiT1983
i mean, have you extracted them by shifting? as the image is a bit dark
09:21
parimal
should I use some other method?
09:21
BAndiT1983
ok, taking a step back, how have you converted 12bit sensel data to 8bit?
09:22
parimal
Yes, I converted the 12 bit pixel data to 8 bit data
09:22
BAndiT1983
how?
09:23
parimal
dropping the 4 bits in the lsb
09:23
BAndiT1983
by shifting?
09:23
parimal
yes
09:23
BAndiT1983
asking, because the image looks a bit too dark, usually unprocessed raw files are bland and brighter than they should be
09:24
parimal
Yes I also noticed that, even other ppm files are dark
09:24
parimal
Should I share the link to other ppm files, to see if they are fine?
09:24
parimal
i mean ppm images
09:25
BAndiT1983
yes, please, but one green channel is sufficient
09:25
parimal
okay just a minute
09:26
BAndiT1983
have you tried this one to check the final data? -> https://anuejn.github.io/batic/
09:26
parimal
This is the green - https://pasteboard.co/I2kanXl.png
09:27
parimal
This is blue - https://pasteboard.co/I2kacd7.png
09:27
parimal
And no I didn't, I will check it after classes
09:27
BAndiT1983
green looks better, so probably the data is more or less ok
09:28
BAndiT1983
also the link where also an example of final image is -> https://github.com/anuejn/batic
09:29
parimal
The data is fine, so does that mean my extraction from 12 bit to 8 bit was okay?
09:29
parimal
also thanks for the link!
09:30
BAndiT1983
no problem
09:31
BAndiT1983
as i said, resulting images are just an indicator that it works, i'm more interested in the final source code, as the challenge is not about completing, but showing what the student is capable of, his way of approaching problems and how well structured the code is
09:35
parimal
left the channel
09:39
parimal
joined the channel
09:40
parimal
Oops net crashed, and yes I understand :) Thanks again for the guidelines
09:41
BAndiT1983
no problem
09:44
parimal
left the channel
10:24
Bertl
off for now ... bbl
10:24
Bertl
changed nick to: Bertl_oO
10:50
Y_G
Hi,What debayering algorithm is being used now?
10:52
se6astian
where do you mean?
10:54
Y_G
In processing of the Raw12 ,while displaying it
10:55
gaurav7019[m]
left the channel
11:01
Y_G
left the channel
11:01
Y_G
joined the channel
11:04
De
joined the channel
11:04
De
changed nick to: Guest11404
11:06
Guest11404
left the channel
11:06
Dev_
joined the channel
11:09
Dev_
left the channel
11:10
Dev_
joined the channel
11:10
Y_G
left the channel
11:14
BAndiT1983
Y_G, we have several algorithms, please refer to https://www.apertus.org/google-summer-of-code-wrap-article-august-2018
11:14
BAndiT1983
or more detailed -> https://www.apertus.org/gsoc-student-experience-claudio-gomes-article-september-2018
11:15
ASHU
joined the channel
11:16
ASHU
Hello everyone !!!
11:17
ASHU
I am getting red grayscale like this https://paste.pics/4TRO0?fbclid=IwAR1E509Ri9UqgzJwRjgxtxhl9ywkN3ME49lMYKXWu5YFOoT4xu3PmDmMbf4
11:17
ASHU
is it wrong ??
11:18
BAndiT1983
hi ASHU, looks like the image
11:18
BAndiT1983
what should be wrong with it?
11:21
ASHU
yes , I am getting image but , The image parimal send is very red in colour .
11:22
BAndiT1983
of course, as he probably has written the data to file for red channel
11:22
BAndiT1983
https://en.wikipedia.org/wiki/Bayer_filter
11:23
BAndiT1983
check the wiki article for bayer sensor, especially the grayscale data
11:25
BAndiT1983
or here -> https://www.vision-doctor.com/en/area-scan-cameras/single-chip-colour-cameras.html
11:26
Y_G
joined the channel
11:30
ASHU
Yes the image i send is also for red channel (as I have extracted all red pixels and than used pgm formate to get image)
11:31
BAndiT1983
yes?
11:32
Y_G
Ok,thanks BAndiT1983
11:32
Y_G
Do you plan on expanding that liat ?
11:32
Y_G
*list
11:32
BAndiT1983
maybe, if we find suitable algorithms
11:33
BAndiT1983
first we need to get moving pictures, to be able to test how the algorithms look
11:37
ASHU
BAndiT1983: i mean the link which i have provided is also for red channel (https://paste.pics/4TRO0) , i wanted to know that am i missing something ?
11:38
BAndiT1983
ASHU, i don't understand the problem
11:38
BAndiT1983
i see the image, looks like the one from raw12 file
11:38
Dev_
left the channel
11:39
BAndiT1983
please read todays log at irc.apertus.org about the goal of the challenge and the image is only a part of the evaluation process for gsoc
11:39
BAndiT1983
many students are trying too hard to get the results, but i expect readable code, e.g. no spaghetti code in one function etc.
11:40
BAndiT1983
getting the image is not that difficult, but to do it with reasonable performance and usable code is more important
11:40
Y_G
Ok,thanks I'll check too
11:42
Y_G
left the channel
11:43
ASHU
okay , BAndiT1983 I understood thanks .
11:43
BAndiT1983
no problem
11:49
ASHU
left the channel
12:03
se6astian
changed nick to: se6astian|away
12:05
se6astian|away
changed nick to: se6astian
12:10
RexOrCine|away
changed nick to: RexOrCine
12:30
Dev_
joined the channel
12:30
Dev_
left the channel
12:58
Dev_
joined the channel
13:03
Dev_
Hey BAndiT1983 : Related to "Extending Occore for providing consequent frames ".
13:05
BAndiT1983
hi Dev_
13:05
Dev_
At present we can only upload .dng file using "open file " button in opencine , and for the above task we need to our application should support all kind of files (.raw12 , .mlv , .tiff) .
13:07
Dev_
Do we need to extend this present code (https://github.com/apertus-open-source-cinema/opencine/tree/master/Source/OCui/Helper) or need to make it from scratch
13:07
Dev_
as present it is not providing any service ?
13:08
BAndiT1983
you mean in ProcessingTest, which is only a module of OpenCine
13:08
BAndiT1983
why do you want to extend thumbnail provider?
13:08
BAndiT1983
main code for OC functionality is in OCcore
13:09
BAndiT1983
https://github.com/apertus-open-source-cinema/opencine/tree/master/Source/OCcore/Image
13:09
BAndiT1983
some prepared code exists already, but has to be analyzed, also a static allocator should be implemented or some library can be used
13:09
BAndiT1983
https://github.com/apertus-open-source-cinema/opencine/tree/master/Source/OCcore/Memory
13:11
Dev_
yes but for parsing files a file (lets say .mlv) don't we need to change a bit UI , we can't upload a anyhting else except .dng
13:12
BAndiT1983
UI has to be adjusted also, but that is one of the last things to do
13:13
Dev_
yeah , i was just making a action plan for it , not really trying to extend
13:15
BAndiT1983
action plan is: implement handling of mulitple frames -> add static allocator for performance -> add playback slider (exists somewhere in code already) to ProcessingTest to be able to play videos
13:16
BAndiT1983
afterwards frame server implemnetation -> attach OCcore -> request data -> provide it to dummy file -> add frame server UI to be able to control things like FPS
13:17
Dev_
okay so UI is our last task ,
13:18
BAndiT1983
of course, if we don't have basic functionality what should we control through UI?
13:18
Dev_
got it :) , thanks
13:19
Dev_
I will keep the plan in mind now try to proceed in same direction
13:20
Dev_
left the channel
14:05
se6astian
latest development update released: https://www.apertus.org/february-2019-news-article
14:29
se6astian
changed nick to: se6astian|away
14:33
intrac_
changed nick to: intrac
14:35
RexOrCine
changed nick to: RexOrCine|away
14:37
se6astian|away
changed nick to: se6astian
14:43
se6astian
changed nick to: se6astian|away
14:44
se6astian|away
changed nick to: se6astian
14:46
se6astian
changed nick to: se6astian|away
14:51
se6astian|away
changed nick to: se6astian
14:53
se6astian
changed nick to: se6astian|away
14:59
RexOrCine|away
changed nick to: RexOrCine
15:13
Leenoo
joined the channel
15:13
Leenoo
is there a 3D model just of the essential hardware with no enclosure?
15:14
RexOrCine
Leenoo: What filetype do you want?
15:16
RexOrCine
https://cad.onshape.com/documents/58bd498285673a104722aacd/w/466b8105bf6807b3f4f50b6c/e/b33cc7b3cc3cc5eebd5c2ae6
15:16
Leenoo
will see
15:50
aombk
joined the channel
16:34
LordVan_
joined the channel
16:42
se6astian|away
changed nick to: se6astian
17:17
gautam
joined the channel
18:22
gautam
left the channel
19:24
LordVan_
left the channel
19:52
rohan_
joined the channel
19:52
rohan_
hey!
19:53
rohan_
Had been working on T872 for the past few days
19:54
rohan_
I'm getting my debayered file in .ppm format to look like this : https://paste.pics/f93063e91f5b15aaa306724b1d275be4
19:54
rohan_
should it look like this?
19:55
rohan_
I still have to convert it into BMP or AVI format
19:58
Leenoo
left the channel
20:01
BAndiT1983
hi rohan_, no, it looks like you haven't swapped bytes possibly
20:07
rohan_
hey BAndiT1983. Are you referring to this line 'This means that RAW12 files should have pixel data from byte 0' ?
20:08
BAndiT1983
no, i'm referring to endianess
20:18
illwieckz
left the channel
20:18
illwieckz
joined the channel
20:20
rohan_
BAndiT1983, I haven't performed any swapping. I'm unable to understand where to do the swapping. what I did was that assumed first line of raw12 file has data in RGRGRG format and and second line has GBGBGB and so on. for every 12 bit, I assumed first bit from left to be the MSB and hence took only first 8 bits from left in individual channels
20:21
rohan_
did I do anything wrong in the above operations?
20:21
BAndiT1983
your images shows clear overflow of values, which happens often if the bytes weren't swapped
20:22
BAndiT1983
as the camera has ARM cores, the data is usually not suitable for CPUs
20:22
BAndiT1983
so you have swap every 2 bytes, afterwards split 3 bytes into 2 x 12bit sensel values
20:26
BAndiT1983
*to swap
20:33
intrac
left the channel
20:33
intrac
joined the channel
20:40
mrohit[m]
Hey BAndiT1983 , actually I don't know how is the data processed in the ARM cores. So can you please explain why are we swapping after every 2 bytes
20:42
BAndiT1983
not after every 2, every 2 bytes have to be swapped, it has to do with endianess
20:42
BAndiT1983
don't remember if this is the case for this raw12 data as i have implemented a sample solution 1 year ago, but the resulting image looks like it
20:43
Leenoo
joined the channel
20:43
BAndiT1983
https://thebittheories.com/little-endian-vs-big-endian-b4046c63e1f2
20:47
Leenoo
I saw the online 3D view but it would be best if a updated online file would be available for a better acurate enclosure projection and preview
20:47
BAndiT1983
Leenoo, what do you mean?
20:48
Leenoo
if one would project a enclosure for it it would be best to have a downloadable 3D file
20:49
BAndiT1983
https://cad.onshape.com/help/Content/exporting-files.htm
20:49
rohan_
thank you so much BAndiT1983. now its crystal clear to me :)
20:50
rohan_
will get back to you with the corrected image
20:50
BAndiT1983
no problem
20:50
BAndiT1983
please read the logs from today
20:51
BAndiT1983
will repeat it over and over, than a correct image is just a small part of the evaluation
20:54
Leenoo
do I need to make a acount on ONSHAPE to download the 3D file?
20:54
rohan_
understood!
20:55
BAndiT1983
Leenoo, se6astian could help you, as he is the one who is responsible for CAD
20:56
Leenoo
ok but things would move faster if a downloadable 3D file was updated and ready for download.
20:57
BAndiT1983
is it so?
20:58
Leenoo
I would think so if this is a open source project
20:59
rohan_
left the channel
20:59
BAndiT1983
yes, open-source, so people can collaborate, not seeing many active ones around
21:00
Leenoo
I wish that this project gets a faster tracktion
21:01
Bertl_oO
off to bed now ... have a good one everyone!
21:01
Bertl_oO
changed nick to: Bertl_zZ
21:02
BAndiT1983
as i said, we are only few active ones, others only demand stuff or are waiting for something
21:02
BAndiT1983
also managing tasks and people requires some time, not to forget regular jobs or other things in life
21:04
Leenoo
we got to publicise this more
21:07
BAndiT1983
it's not only about publicity, there are a lot of important tasks which have to be accomplished or at least made stable, to be able to get more people attracted, like camera controls
21:10
mrohit[m]
sorry, went off for a while... BAndiT1983 , so just to make it clear,
21:10
mrohit[m]
we are swapping two bytes to convert the endianness... right?
21:10
mrohit[m]
But if the RAW12 file is already in a little endian format, then why do we need to convert as we are working on systems which represent data in little endian
21:11
BAndiT1983
mrohit[m], are you sure that the date is on little-endian?
21:12
BAndiT1983
if your image is correct and you don't have to swap, then the data is ok, but the sample image had value overflows or underflows, which can be concluded from hard contrast
21:13
mrohit[m]
No,I am not sure. I thought all RAW12 images are in little endian format itself as mentioned on apertus wiki.
21:14
BAndiT1983
if the data is in correct endianess, then the split is somehow not correct, there are many possible causes
21:15
BAndiT1983
or maybe also conversion from 12bit to 8bit, but this one is simple right shift, although you can go further and implement some non-linear curve, like alexML has added to the task
21:16
mrohit[m]
Yes, I am trying to look for an appropriate non linear curve
21:17
BAndiT1983
you can calculate it, have also not that much knowledge there, but found a formula quickly through google
21:17
BAndiT1983
is your image correct?
21:17
BAndiT1983
if not, then the formula won't help much
21:18
BAndiT1983
bonus tasks are fine, but the code and steps to get final image are more interesting for me
21:19
mrohit[m]
No, the image is still not completed. I was just looking parallely for some curve.
21:19
mrohit[m]
I guess I will get the image correct first and then look for a curve
21:19
se6astian
changed nick to: se6astian|away
21:20
BAndiT1983
the curve will not correct the image, just make the data "nicer"
21:21
BAndiT1983
off for today, good night
21:21
mrohit[m]
Ya, will correct it soon :)
21:21
mrohit[m]
good night
21:38
BAndiT1983
changed nick to: BAndiT1983|away
21:51
futarisIRCcloud
joined the channel