| 23:00 | rton | left the channel |
| 23:17 | BAndiT1983 | changed nick to: BAndiT1983|away
|
| 00:01 | futarisIRCcloud | left the channel |
| 01:03 | futarisIRCcloud | joined the channel |
| 01:59 | Bertl_oO | left the channel |
| 02:57 | Tintin_ | joined the channel |
| 03:06 | Tintin_ | left the channel |
| 03:14 | aombk | joined the channel |
| 04:49 | Bertl_oO | joined the channel |
| 05:50 | BAndiT1983|away | changed nick to: BAndiT1983
|
| 06:57 | BAndiT1983 | changed nick to: BAndiT1983|away
|
| 07:16 | niemand | joined the channel |
| 07:16 | niemand | left the channel |
| 07:16 | niemand | joined the channel |
| 07:50 | Bertl_oO | changed nick to: Bertl_zZ
|
| 08:08 | futarisIRCcloud | left the channel |
| 08:10 | niemand | left the channel |
| 09:02 | futarisIRCcloud | joined the channel |
| 09:03 | rton | joined the channel |
| 09:50 | niemand | joined the channel |
| 10:54 | BAndiT1983|away | changed nick to: BAndiT1983
|
| 11:37 | se6astian|away | changed nick to: se6astian
|
| 11:42 | futarisIRCcloud | left the channel |
| 11:45 | se6astian | changed nick to: se6astian|away
|
| 11:45 | supragya | joined the channel |
| 11:52 | se6astian|away | changed nick to: se6astian
|
| 11:53 | BAndiT1983 | changed nick to: BAndiT1983|away
|
| 11:53 | se6astian | changed nick to: se6astian|away
|
| 12:27 | Bertl_zZ | changed nick to: Bertl
|
| 13:04 | supragya | Hi, Bertl, I have a question regarding RAW12 format
|
| 13:04 | supragya | can you help me with that
|
| 13:04 | supragya | ?
|
| 13:06 | supragya | as far as I understand... Format Specifications no header, little endian, 12bit (leaves out the 4 lsb zeros of RAW16)
|
| 13:06 | supragya | A hex dump of first few bytes looks as follows: 08 00 77 08 50 77 07 60 6D 07 00 75 0D 90
|
| 13:07 | supragya | of test image (RAW12)
|
| 13:08 | supragya | However, both big endian and little endia do not have lsb 0 in any pattern I can see (16 bytes at once)
|
| 13:10 | supragya | can u explain the dump perhaps? (where is that 4lsb 0 exactle, and which bytes actually correspond to R G G B ?)
|
| 13:16 | seku_ | joined the channel |
| 13:22 | Bertl | raw12 should be 12bit per sensel packed
|
| 13:22 | Bertl | but note that we also have a raw16 format which uses 16bit per sensel
|
| 13:23 | Bertl | and because there are no headers, sometimes folks use the wrong extension and raw12 is actually raw16 (and vice versa)
|
| 13:23 | supragya | left the channel |
| 13:49 | supragya | joined the channel |
| 14:01 | supragya | ping Bertl hi!
|
| 14:11 | supragya | left the channel |
| 14:36 | Bertl | hey
|
| 14:39 | BAndiT1983|away | changed nick to: BAndiT1983
|
| 14:40 | BAndiT1983 | Bertl, RAW12 are tightly packed, so one has to extract them to 16bit first
|
| 14:42 | Bertl | not sure what you mean by that
|
| 15:10 | niemand | left the channel |
| 15:21 | BAndiT1983 | it's a stream of 12bit data, so the bits have to be extracted, easiest way is to process 3 bytes at once, to get 2 x 16 bit values
|
| 15:21 | Bertl | 2x12 bit
|
| 15:22 | BAndiT1983 | yes, sorry, wanted to say, that they have to be copied to 2x16bit
|
| 15:22 | Bertl | why's that?
|
| 15:22 | BAndiT1983 | to be able to store them
|
| 15:23 | BAndiT1983 | or you convert them at once to 8bit, but with less precision
|
| 15:23 | Bertl | you can also store them as 12bit
|
| 15:24 | BAndiT1983 | which data type? ;)
|
| 15:24 | Bertl | 12 bit structure element
|
| 15:27 | supragya | joined the channel |
| 15:27 | BAndiT1983 | performance is not good then
|
| 15:27 | Bertl | didn't say that
|
| 15:27 | supragya | Hi, Bertl
|
| 15:28 | Bertl | hey supragya! check the IRC logs
|
| 15:34 | supragya | sure. I looked into them
|
| 15:34 | supragya | Few questions: sensel packed...(could not understand)
|
| 15:35 | supragya | 2x16 bit values or 2x12 how? 2 channels here?
|
| 15:35 | Bertl | in a stream of data bits, every 12 bits contain one sensel, no padding
|
| 15:36 | supragya | Okay, so I should not look for 4 bits lsb padding as given in "Format Specifications no header, little endian, 12bit (leaves out the 4 lsb zeros of RAW16)"?
|
| 15:37 | Bertl | the 12bit version leaves out the zero padding, yes
|
| 15:39 | BAndiT1983 | no padding, just take 3bytes and extract left and right side
|
| 15:40 | supragya | k
|
| 15:41 | supragya | so i will split 08 00 77 into 08 0 and 0 77
|
| 15:41 | supragya | however, what exactly are these 2 channels? doesnot look like RGB (then it would be 3), is it input from 2 different lenses?
|
| 15:42 | Bertl | the raw data is a bayer pattern, RG/GB
|
| 15:42 | Bertl | so the first line goes RGRGRGRG...
|
| 15:42 | Bertl | and the second line goes GBGBGB...
|
| 15:44 | supragya | so am i right that [08 00 77] & [10101010 00000000] would give me debayered R?
|
| 15:45 | Bertl | debayering can be done in many ways, but on the even lines every second sample is a 'red' and on the odd lines every second a 'blue'
|
| 15:47 | supragya | thank you for the help, Bertl, I will ping you in if something else comes up. Can u point me to some related documents which I can refer to in the meanwhile, to get a better understanding
|
| 15:48 | Bertl | https://en.wikipedia.org/wiki/Bayer_filter
|
| 15:49 | Bertl | and of course the cmv_snap sources
|
| 15:50 | supragya | can i get a link?
|
| 15:50 | Bertl | https://github.com/apertus-open-source-cinema/beta-software/tree/master/software/cmv_tools
|
| 15:51 | supragya | TY
|
| 15:52 | Bertl | np
|
| 15:55 | BAndiT1983 | one has to know the pattern
|
| 15:56 | BAndiT1983 | usuall RGGB, but you can also find it out by assigning manually
|
| 15:56 | BAndiT1983 | so first row would be R and G pixels, second G and B accordingly
|
| 15:57 | BAndiT1983 | you can also look in OC, there is ProcessingTest which shows which methods are called for debayering, this ones are in OCcore
|
| 15:58 | seku_ | left the channel |
| 16:20 | supragya | thank you Bandit.
|
| 16:20 | supragya | :)
|
| 16:21 | supragya | however, what is OC?
|
| 16:32 | Bertl | we have no idea, but he is always talking about OC this and OC that ... so it must be important :)
|
| 16:42 | BAndiT1983 | :D
|
| 16:42 | BAndiT1983 | OC is OpenCine, enough hints for now ;)
|
| 16:43 | BAndiT1983 | Bertl, had a question yesterday about orientation markers on PCBs, it's about automatic inspection
|
| 16:44 | supragya | left the channel |
| 16:47 | Bertl | let's hear ...
|
| 16:57 | supragya | joined the channel |
| 17:03 | BAndiT1983 | tested template matching with opencv, python for now as javascript version was complicated to come by
|
| 17:04 | BAndiT1983 | template matching is sufficient if things are placed in the same direction
|
| 17:05 | BAndiT1983 | what are the usage cases for automatic inspection? seen some scans of boards without parts and some gray stuff on the pads, other scans had same boards, but already with chips
|
| 17:06 | BAndiT1983 | it works also rather nice with some unique markers, like capacitors with C7 near them, but it also recognizes stuff, if i delete C from C7 and draw something on the capacitor
|
| 17:07 | Bertl | I presume the main purpose will be to check proper orientation and correct soldering on the final PCB, but se6astian certainly knows more
|
| 17:08 | BAndiT1983 | he is sick at the moment, just wanted to chat a bit with you, to ask about certan guidelines when you design PCBs
|
| 17:09 | Bertl | okay?
|
| 17:09 | BAndiT1983 | as we have certain PCBs, we could provide several checks and the software would tell us, what is missing
|
| 17:09 | BAndiT1983 | by guidelines i mean, if all the parts have text near them, this would simplify the job to find right areas
|
| 17:10 | BAndiT1983 | downloaded PCB scans already and looked a bit through them, but had not much time in the last days
|
| 17:10 | Bertl | not sure why you want to detect the text?
|
| 17:11 | Bertl | the boards have fiducials at known positions, if you find those, everything else can be calculated from the part locations (relative to those fiducials)
|
| 17:12 | BAndiT1983 | i've seen different ones, some boards have NE, SW etc.
|
| 17:12 | BAndiT1983 | others just crosses
|
| 17:13 | BAndiT1983 | detection is done by using a template, small part of the image in that case, as i suppose that we have always the same scanner for now
|
| 17:13 | BAndiT1983 | opencv shift the template in horizontal and vertical direction to try to find matching areas, it works also rather well with two capacitors i've extracted yesterday
|
| 17:15 | BAndiT1983 | i suppose, that one task would be to find right orientation and to rotate the scan, but also to use homography possibly, as i can't tell if template matching would be sufficient
|
| 17:15 | BAndiT1983 | as it doesn't support rotation by default
|
| 17:17 | Bertl | I think it should be doable to always scan them the 'right' way round
|
| 17:17 | Bertl | but in any case a correctional rotation will be required as they are not very likely to be perfectly aligned
|
| 17:18 | BAndiT1983 | okay, then we can avoid this part for now, will implement something just to learn opencv better
|
| 17:18 | Bertl | (again, the fiducials will provide the information for that)
|
| 17:18 | BAndiT1983 | which fiducials are there? as i said, seens different ones
|
| 17:19 | BAndiT1983 | have possibly to check the layout to know what the dimensions between them are, so i can calculate other ones, if required
|
| 17:20 | BAndiT1983 | what are the containers, which are green or orange, around PCBS?
|
| 17:21 | Bertl | they are always the same on our PCBs
|
| 17:21 | Bertl | (the fiducials)
|
| 17:22 | Bertl | they are marked with red on the picture in T934
|
| 17:24 | BAndiT1983 | alright, then i've looked at the right ones
|
| 17:24 | BAndiT1983 | seems like opencv has nice methods to straighten the image
|
| 17:24 | Bertl | excellent
|
| 17:24 | BAndiT1983 | is it possible to scan PCBs with some homogenous background?
|
| 17:25 | BAndiT1983 | not that it would be important, as i would try to create some masks, so we can cut background off, but maybe it would be easier after all
|
| 17:26 | Bertl | probably not a big problem
|
| 17:28 | BAndiT1983 | when Sebastian is well again, we can discuss more details, will create some methods beforehand, but in python for now, as it was easier to set up and didn't want to involve C++ as later i still plan to create a web interface if we pursuit this idea further
|
| 17:30 | Bertl | sounds good
|
| 18:04 | niemand | joined the channel |
| 18:04 | niemand | left the channel |
| 18:04 | niemand | joined the channel |
| 18:21 | supragya | left the channel |
| 20:03 | arpu | left the channel |
| 21:25 | niemand | left the channel |
| 21:32 | futarisIRCcloud | joined the channel |
| 21:35 | seku | left the channel |
| 21:35 | seku | joined the channel |
| 21:44 | Bertl | off to bed now ... have a good one everyone!
|
| 21:44 | Bertl | changed nick to: Bertl_zZ
|
| 22:38 | davidak | joined the channel |
| 22:54 | BAndiT1983 | changed nick to: BAndiT1983|away
|