package Ġcom . kj ipo . utilities Ċ Ċ import Ġcom . kj ipo . prototype . Angle Line Ċ import Ġcom . kj ipo . segmentation . Matrix Ċ import Ġcom . kj ipo . skeleton . transform To Arrays Ċ import Ġcom . kj ipo . visualization . display Colour R asters Ċ import Ġjavafx . scene . paint . Color Ċ Ċ object ĠDisplay Utilities Ġ{ ĊĊĠĠĠ Ġfun Ġdisplay Lines Using Colour Palette ( kan ji Segment ed In Lines : ĠList < List < Angle Line >>, Ġtexts : ĠList < String >, ĠnumberOf Rows : ĠInt , ĠnumberOf Columns : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcolour R asters Ġ= Ġmutable ListOf < Array < Array < Color >> >() ĊĊĠĠĠĠĠĠĠ Ġkan ji Segment ed In Lines . forEach Ġ{ Ġlines Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdisp Image Ġ= ĠMatrix ( numberOf Rows , ĠnumberOf Columns ) Ġ{ Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠColor . BLACK ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġcounter Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlines . forEach Ġ{ Ġline Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline . segments . flatMap Ġ{ Ġit . pairs Ġ}. forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( row Ġ>= Ġ 0 Ġ&& Ġrow Ġ< Ġdisp Image . numberOf Rows Ġ&& Ġcolumn Ġ>= Ġ 0 Ġ&& Ġcolumn Ġ< Ġdisp Image . numberOf Columns ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( disp Image [ row , Ġcolumn ]. brightness Ġ== Ġ 1 . 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdisp Image [ row , Ġcolumn ] Ġ= ĠColor . WHITE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdisp Image [ row , Ġcolumn ] Ġ= ĠColor . hs b ( counter . toDouble (). div ( lines . size ). times ( 3 6 0 ), Ġ 1 . 0 , Ġ 1 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ++ counter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolour R asters . add ( transform To Arrays ( disp Image )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdisplay Colour R asters ( colour R asters , Ġtexts , Ġ 2 ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ