Current Server Time: 19:21 (Central Europe)

#apertus IRC Channel Logs

2019/02/22

Timezone: UTC


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