arXiv:2006.10509v1HoloGen v2.2.1.17177 [cs.GR] 18 Jun 2020 K h uF irr rmNii sue opromteFTeeeto h loihsdet t ihpromne[ performance high its to due algorithms the of element FFT the perform to used is NVidia from library cuFFT The framework (MVVM) Model-View-ViewModel standard a is This architecture. C MVVMA a in on framework built is parameter application custom HoloGen a The of top on built suite application an is Suite HoloGen The during made decisions design the of some as well as application HoloGen the of structure the of overview an presents article This spr fCmrdeUiest iulSui akg hl uacmswt naporaelcneadEL 5,57]. [56, EULA and license appropriate an with comes Cuda while package Studio Visual University Cambridge of part as [ license [ [ license License MIT Public [ the libraries under third-party licensed of are number a [ C on library 16], depends FFTW 15, HoloGen the 14, used 13, also 12, have [11, researchers Matlab Previous in wrapper. implementations Thrust with framework [ Cuda OpenMP a detailed of more top A on libraries. built imported and independent level own application 4. their level; and have interface 3 and user 2, them the Figures beneath levels: levels in application shown on three is only the breakdown depend shows all This These 1. level. Figure algorithm in shown as structure application procedural traditional online. available C is in source common The license. own their 76 having each to libraries runs sub HoloGen with of license 2.2.1.17177 MIT the under open-source H them. elsewhere. handle covered to not place classes in key 2 put any infrastructure as 6. the well Section and as in expansion connections construction future their interface of and The user areas libraries 3; the some application Section and provides the in 5 8 all tree Section Section meriting of command in Finally as role and architecture out the parameter serialisation stand discusses The The areas 7 few 4; include: Section a Section discussion discussion, in further little interface for requires algorithm features and native Key contextually developers. simple future is for HoloGen explanation of majority the While development. I 1 eywords 1 https://gitlab.com/CMMPEOpenAccess/HoloGen ntroduction olo 53 hsatcedsusstesrcueaddsg fHlGn ooe sa I iesdapiainta a be may that application licensed MIT an is HoloGen HoloGen. of design and structure to the required discusses processing article numerical This significant the been has acceptance to roadblock primary the Traditionally, yitouigHlGnbfr rvdn ni-et icsino t einadsrcue atclrfcsis focus Particular aspects. structure. algorithmic and and design transfer its C data of Cuda communication, discussion a the in-depth uses to an HoloGen given providing guidance. before expert HoloGen without introducing algorithms by of array wide C a and using holograms generate to used power. computational significant and expertise significant both requiring representation. holograms 3D generate full technique including exciting problems an photonic is of CGH array telecommunications, applications, wide existing tweezing a with optical 2D to a Along and in applicable represent shaping vergence. interest fully beam and of lithography, can accommodation projection, increase CGH focus, imaging, similar of approaches, depth a stereoscopic including Unlike seen field (CGH). has light holography systems generated reality computer mixed 3D and and augmented of popularity Increasing 6 , G optrGnrtdHolography Generated Computer ,teCmuainlWv pis(W)[ (CWO) Optics Wave Computational the ], 54 en # , ++ 55 idw rsnainFaeok()apiain iha diinlagrtm ee rte namore a in written level algorithms additional an with applications (WPF) Framework Presentation Windows 46 .Teeaealhgl emsielcne.XmrnFrs C Xamarin.Forms, licenses. permissive highly all are These ]. akn ihaC a with backend 1 , eteo oeua aeil,PooisadEetois nvriyo abig,UK Cambridge, of University Electronics, and Photonics Materials, Molecular of Centre 47 / ucinlsyeo o fa vdaCd rhtcueitrae nC in interfaced architecture Cuda Nvidia an of top on style functional , 48 , 49 ,svrludrteAah ies . [ 2.0 License Apache the under several ], S , # rcueand tructure 0 ie fcd ihdpnece n2 xenllibraries. external 25 on dependencies with code of lines 000 36 n idw rsnainFaeokgahclue nefc.Teatcebegins article The interface. user graphical Framework Presentation Windows and ee .Christopher J. Peter , 37 , 38 · HoloGen , 39 , 40 / C 18 , [email protected] ++ 41 7 · J , , une Cuda A 19 , 8 1,6 0 ,4 ,8 ]adPython. and 9] 8, 7, 4, 3, 10, 6, [17, 1 D bstract , 42 , n ioh .Wilkinson D. Timothy and 9 9 2020 19, 20 , n ne ahKre ML [ (MKL) Kernel Math Intel and ] sg of esign · 43 , Fourier 21 , 44 , 22 , 30 , · 23 50 Fresnel , , 45 , 24 H 51 ihsvrllcne ne h esrGeneral Lesser the under licensed several with ] # , , 25 n P oewt prpit sg licenses usage appropriate with come WPF and olo 52 , 26 , 34 , G 27 n w ne h he-lueBSD three-clause the under two and ] 1 en , ++ 28 , [ 29 1 10 .Ti rnltsit layered a into translates This ]. , # irre swl scustom as well as libraries ] 30 n P.Tepcaeis package The WPF. and , 31 , 32 , 3 33 , 4 , ,OeC [ OpenCV ], 34 , 2 35 1 .Ti is This ]. Version .Most ]. 5 ],

June 19, 2020 HoloGen v2.2.1.17177 ieyi s.Isedo h aaee ye n neatosbigdfie nprmtrset hc asda utm,the runtime, at parsed are which sheets parameter in defined being interactions and types parameter the of Instead use. in widely Cuda real-time for allowing algorithms implemented Cuda with interfaces system module dynamic A reuse. code limited with h aaee ye r enduigtefloigkycasssoni iue5: Figure in shown classes key following the using defined are types parameter The the of areas distinct Two omns t)adtete feeet otiigte eg ae,mns etc). menus, pages, (e.g. them containing elements of tree the and etc) commands, Hierarchy Inheritance Class 3.1 structure This hierarchy. parameter the of exposure architecture author. increased the an the is in systems downside contained sheet The is parameter time. XML compile the C at to the available contrast checking into in coded is is This system system. parameter command and parameter based reflection custom a uses HoloGen P 3 An documentation. help complete [ as traceability ensure well features. to as reporting available used integrated metadata are for parameter Chinese allows browser with and Chromium tagged German for are included Spanish, scheduled results French, be all into to and translations available operations Provisional information multiple di additional three for of the allows comparison framework functionality handle cards. for processing transform to allows graphics Fourier batch tabulation newer tabular statistics. Advanced A hologram of operation. viewer. generated background features the the advanced into viewing directly more while incorporated used utilising is be and can models performance techniques parameter visualisation improving persistent dimensional for machines allows host framework on parameter based compilation reflection A elements. novel of number a includes HoloGen S rcueand tructure rmtrand arameter D sg of esign HoloGenHierarchy C HoloGenHierarchy ommand H olo following external libraries: User interface code all with libraries with the format "HoloGenUI*". Uses the G “ Cuda algorithmsC and Managed C++/C# wrappers. All libraries in the format HoloGenAlg* the following external libraries: Application logic and management. All libraries in the format en iue1 ooe plcto ees ..Fgrs2 n 4. and 3 2, Figures c.f. levels. application HoloGen 1: Figure H ierarchy # irr.Tedcso oueterflcinbsdsse a aet nbeasd rjc of project side a enable to made was system based reflection the use to decision The library. iety hssgicnl eue h utm vreda ela mrvsteerror the improves as well as overhead runtime the reduces significantly This directly. ”. Uses the following external libraries: irr oesadot h parameter the out: stand code library [email protected] Depends On Depends On ff rn oorm.Nwiaeadfietpsaeintroduced are types file and image New holograms. erent / omn ye eg ueia pin,menu options, numerical (e.g. types command “ HoloGen* ”. Uses 58 2 ].

June 19, 2020 HoloGen v2.2.1.17177 S rcueand tructure and delegation. including commands, navigation for the HoloGen user interface Miscellaneous common utilities selection. options and data template WPF controls for editing hierarchy in a hamburger style. Controls for viewing an options themes and styles. components; signing protocol; Defines the top Base user interface assembly. • • • • • • • • • • • • • • • ihu xoigteitraso h ls oetnigobjects. extending to class the of internals the exposing without osfrgnrcmnplto fwapdvle ihu xoigteitraso h ls oetnigojcs Contains ListOption objects. extending to class the of internals selected the exposing without values wrapped a of manipulation generic for lows ISelectOption SelectOption ISelectOption PathOption LargeTextOption TextOption IOption C to references. Option template generic handling not C# to due Command IOption ICommand INode DoubleOption IntegerOption NumericOption ILargeOption PossibilityCollection # - o adiggnrctmlt eeecs epaesse losfrgnrcmnplto fwapdvalues wrapped of manipulation generic for allows system template A references. template generic handling not level MVVM D aeitraefrall for interface Base - sg of esign btatbs aaee ls xeddb l aaee ye.Dsic from Distinct types. parameter all by extended class parameter base Abstract - Possibility . aeprmtritraeetne yalprmtrtps Extends types. parameter all by extended interface parameter Base - btatbs omn ls xeddb l omn ye.Dsic from Distinct types. command all by extended class command base Abstract - aecmaditraeetne yalprmtrtps Extends types. parameter all by extended interface command Base - aecasfrprmtr ersniglsso aus Extends values. of lists representing parameters for class Base - to Alternative - Extends type. parameter based Text - laigpitnmrcprmtrtp.Extends type. parameter numeric point Floating - nefc htflg otedslyta mlmnigotosrqieetasaeo h I Extends UI. the on space extra require options implementing that display the to flags that Interface - btatbs aaee ls xeddb l eeto ae aaee ye.Dsic from Distinct types. parameter based selection all by extended class parameter base Abstract - H aeprmtritraeetne yalslcinbsdprmtrtps Extends types. parameter based selection all by extended interface parameter Base - nerlnmrcprmtrtp.Extends Extends type. types. parameter parameter numeric numeric Integral all - by extended class parameter base Abstract - hc tipeet u oC to due implements it which olo agrvrinof version Larger - G r netdit h owning the into injected are en WPF monitor tab. View for a HoloGen 2D image. Batch processing widgets localisation options. Application resource strings and commands. Application menus and WPF graph control. iue2 ooe sritraelvl ..Fgr 1. Figure c.f. level. interface user HoloGen 2: Figure TextOption of leaf Possibilities oe nteprmtrhierarchy. parameter the in nodes TextOption hthnlsfiepts Implements paths. file handles that [email protected] # htcnb eetda h pinvle n pin we ythe by owned options Any value. option the as selected be can that Option o adiggnrctmlt eeecs epaesse al- system template A references. template generic handling not HierarchyFolder Implements . View for a HoloGen 3D image. complex 2D image. Draw masks on a HoloGen Excel integration Chromium integrated browser. PDF file viewer. Data grid controls for WPF. Global hotkeys for WPF. . NumericOption NumericOption ILargeOption . Option . INode ILargeOption INode . . . IOption Implements . . ICommand WPF DirectX compatibility. Material design for WPF. Mobile/tablet compatibility. Miscellaneous WPF controls. 3D components for WPF. Draggable tabs for WPF. WPF dynamic chart control. Metro styling for WPF. . hc tipeet due implements it which hc timplements it which ILargeOption Option IOption . . . 3

June 19, 2020 HoloGen v2.2.1.17177 h reo lmnscnann h aaeeso omnsaesoni iue7: Figure in shown are commands or parameters the containing elements of tree The S rcueand tructure Miscellaneous common utilities Library wrapper for ported code serialisation and control. hierarchy which is used for Abstract HoloGen option tree generation run. used for defining a hologram Defines the options hierarchy processing as well as unit tests. Used for remote and batch Base command line application. • • • • • • • • • • • ihu aigt adetermnplto raccess. or manipulation their handle to having without qiaett the to Equivalent HierarchyFolder the to lent HierarchyPage the to Equivalent HierarchyRoot IHierarchyElement HierarchyElement IHierarchyElement searched. be can which children ChangingChildrenElement elements notifications. member appropriate declare with to children classes of extending set allows This type. that of children of list a populate to them uses and C type the uses class this extended, ReflectiveChildrenElement owning the into injected are options child BooleanOptionWithChildren BooleanOption ILargeOption PathListOption ChangingChildrenElement D sg of esign page . or H folder tab mlmnainof Implementation - mlmnainof Implementation - ola au ae aaee ye Extends type. parameter based value Boolean - olo menu aecasfrprmtr ersniglsso ls Extends files. of lists representing parameters for class Base - mlmnainof Implementation - or btatbs ls o all for class base Abstract - G hc tipeet u oC o adiggnrctmlt references. template generic handling not C# to due implements it which all for interface Abstract - en eupop-out menu or ee ihnHoloGen. within level HoloGen runtime options batch processing settings. Options hierarchy tree used for as well as related utilities. image and image groups classes Defines the HoloGen complex HoloGen image options HoloGen image mask options sub-menu iue3 ooe plcto ee.cf iue1. Figure c.f. level. application HoloGen 3: Figure # Extends - Extends - eeto ytmt n l ulcprmtr ftesm yea h pcfidtemplate specified the as type same the of parameters public all find to system reflection ola au ae aaee ye Extends type. parameter based value Boolean - e ls ersnigany representing class Key - ee ihnHoloGen. within level HierarchyElement HierarchyElement ee ihnHoloGen. within level ReflectiveChildrenElement HierarchyFolder ChangingChildrenElement HierarchyElement [email protected] non-leaf non-leaf Json format. application data structures in a Serialises and deserialises localisation options. Application resource strings and application Options hierarchy tree usedfor stochastic reporting. safe process object with hologram generation process. used for controlling a running Defines the options hierarchy oe nteprmtrtree. parameter the in nodes htrpeet oeo parameter a of node a represents that htrpeet h otnd faparameter a of node root the represents that namne iia to similar manner a in oe nteparameter the in nodes non-leaf htrpeet oeo parameter a of node a represents that Option - wide settings. . oei h parameter the in node ohnl a handle to ohnl a handle to BooleanOption SelectOption non-leaf non-leaf / omn re itntfrom Distinct tree. command ListOption serialised objects. Handles file input outputand of Algorithm code wrapper Mathematics package. Mathematics package. Unit test framework. Json serialisation. Mathematics package. oeta a changing a has that node / / oeta a e of set a has that node omn re Equiva- tree. command omn re When tree. command hnstto set When . . / Implements . / omn tree. command omn tree. command true any , 4

June 19, 2020 HoloGen v2.2.1.17177 nadto ubro ucinitrae r sdt akehbtdbhvor tdi at behaviours exhibited mark to used are interfaces function of number a addition In S rcueand tructure GPU control and management. Entry point for the algorithms. implementation. Gerchberg C++ wrapper. Gerchberg • • • • • • • • • • • • • • • • ICanReset tree. command or parameter the ICanSearch of base the to link a given IHasBindingPath IHasWatermark IHasToolTip IHasName ICanFlatten ICanExportToString ICanImportFromString ICanError ICanEnable HierarchySaveable HierarchyVersion Possibility SelectOption PossibilityCollection Option OptionCollection - - Saxton Cuda C Saxton Managed D sg of esign uhas such mlmne yayclass any by Implemented - mlmne yayclass any by Implemented - class any by Implemented - mlmne yayclass any by Implemented - class any by Implemented - mlmne yayclass any by Implemented - any by Implemented - a for state possibility a Represents - . BooleanOptionWithChildren H mlmne yayclass any by Implemented - olo mlmne yany by Implemented - ersnsavrinnme o parameter a for number version a Represents - mlmnainof Implementation - G ersnsaycasta a esvduigteJO serialisation. JSON the using saved be can that class any Represents - en mlmne yayclass any by Implemented - algorithms and functions used by multiple Cuda commonC utility classes multiple algorithms classes functionsand used by Managed C++ common utility C++ wrapper. Direct Binary Search Managed implementation. Direct Binary Search Cuda C mlmne yayclass any by Implemented - mlmnainof Implementation - iue4 ooe loihslvl ..Fgr 1. Figure c.f. level. algorithms HoloGen 4: Figure HierarchyElement / nefc hthsanm property. name a has that interface / / nefc htcnb reset. be can that interface state. error an in be can that interface / / nefc htcnb searched. be can that interface enable exhibits that interface HierarchyElement / HierarchyElement nefc hthsato i property. tip tool a has that interface / nefc hthsawtrakproperty. watermark a has that interface [email protected] HierarchyElement or SelectOption / nefc htalw o eilsto oasrn object. string a to serialisation for allows that interface SelectOption / nefc htalw o eeilsto rmasrn object. string a from deserialisation for allows that interface htcnflte t nenlte structure. tree internal its flatten can that quantiser interfaces. Base Cuda algorithm C and interfaces. for algorithm and quantiser Base Managed C++ wrapper C implementation. One Managed C++ wrapper. One , htrpeet e of set a represents that - - Step Phase Step Phase Command . / . omn hierarchy. command htrpeet e of set a represents that / ial behaviours. disable - - Retrieval Cuda Retrieval or ff Option rn eeso h hierarchy. the of levels erent htteitraecnb on to bound be can interface the that Options implementation. Simulated Annealing Cuda C C++ wrapper. Simulated Annealing Managed Possibilities ihnaspecialisation a within API API Interface Dependency ihna within 5

June 19, 2020 HoloGen v2.2.1.17177 S rcueand tructure • • INotifyChanged Extends ICanRecursivelyEnable D sg of esign ICanEnable H olo mlmne yany by Implemented - “ “ G . Extends Extends en iue5 ooe aaee ye neiac hierarchy inheritance types parameter HoloGen 5: Figure mlmne yayclass any by Implemented - ” ” iue6 ooe loih interface algorithm HoloGen 6: Figure Option [email protected] “ “ htntfiswe h otie au changes. value contained the when notifies that Implements Implements / nefc htcnstisonealdsaeadta fischildren. its of that and state enabled own its set can that interface ” ” quantisation method such aselements the other exhibited by same The pattern is quantisation method suchelements as the other exhibited by same patternThe is quantisation method suchelements as the other exhibited by sameThe pattern is “ “ Encapsulates Encapsulates ” ” 6

June 19, 2020 HoloGen v2.2.1.17177 hl h eeto ae rhtcuerqie niiilivsmn ftm n e and time of investment initial an requires architecture based reflection the While HoloGenProcessOptions n hudb osdrdfrwdruse. wider for considered be should and e time the in classes. those following including hierarchies command and parameter of number a defines HoloGen Application 3.2 S rcueand tructure ffi • • • • • • in npatc uigdvlpeto ooe.Tesse rsnsa lentv oteXLssescmol used commonly systems XML the to alternative an presents system The HoloGen. on development during practice in cient SelectOption extending Elements SelectOption extending Elements Example: extending elements Multiple the of all for extending elements Multiple the of all for properties extending elements Multiple the of all extending element root A – – ilol eeial hnslce.Example: selected. when editable be only will lse extending Classes extending Classes SLMTypeOption D sg of esign HierarchyPage SLMResolutionX Option Example: . Example: . , H HoloGenBatchOptions olo PossibilityCollection “ bet ihn Example: within. objects Extends G Possibility nthe in Possibility SelectOption HierarchyFolder en HierarchyRoot bet ihn Example: within. objects iue7 ooe aaae reihrtnehierarchy inheritance tree paramater HoloGen 7: Figure SLMPossibility SLMPossibilities HierarchyFolder HoloGenOptions nthe in Option ” HierarchyPage HoloGenOptions rissblse htpoietenm,to i,dfut n iisfrteoption. the for limits and defaults tip, tool name, the provide that subclasses its or ihpbi rprisfrec fteallowable the of each for properties public with or oti ikt netnino a of extension an to link a contain and , BooleanOptionWithChildren htpoie aeadto i swl scnann ulcpoete for properties public containing as well as tip tool and name a provides that bet ihn Example: within. objects SLMControlOptions nthe in [email protected] library.x HologramFolder ihpbi rprisfrec fteallowable the of each for properties public with htpoie ae oltpadio swl scnann public containing as well as icon and tip tool name, a provides that htpoie aeadto i swl scnann ulcproperties public containing as well as tip tool and name a provides that nthe in “ Implements MultiAmpSLM HoloGenOptions OptionsRoot library. HoloGenOptions ” nthe in nthe in irre.Teeflo tnadsrcuewt the with structure standard a follow These libraries. nthe in ProjectorPage library. ff HoloGenOptions library. HoloGenOptions r ocmst rp ih thspoe highly proved has it with, grips to comes to ort PossibilityCollection HoloGenOptions r loal ocnanpbi rpristhat properties public contain to able also are “ HoloGenOptions Encapsulates nthe in library. ” library. library. HoloGenOptions Possibilities , Possibilities HoloGenImageOptions bet Example: object. library. fthe of fthe of 7 ,

June 19, 2020 HoloGen v2.2.1.17177 hl ope,ti ytmprom sfs sdrc l motwiealwn o nertddebugging. integrated for allowing while import dll direct as fast as performs system this complex, While orse rcs srqie nodrt asdt rmteC the from data pass to order in required is process step four A h o ee steC the is level top The h aat h rpiscr n anann ade nislcto.Teata loih mlmnain a efudi the in found be can implementations algorithm actual The location. its on handles maintaining occur. and card steps RunIterations() graphics the following to the data the algorithm, GS a GSAlgStandardCuda to from image inherited target a passing SetTargetImage() when example, For "*Cuda". C native C All Cuda Thrust. and CUFFT as such the as well as C types data native both use C Managed the to 6. Figure in shown as it underlying A 4 S rcueand tructure ++ ae scle.Ti ee a eepsdi yai rsai irr u sntal oln omn aieCd headers Cuda native many to link to able not is but library static or dynamic a in exposed be can level This called. is layer lgorithm / C ++ opldcasswihaeal ocmuiaewt h rpiscr.AlCd C Cuda All card. graphics the with communicate to able are which classes compiled D AlgorithmMan sg of esign ++ I nterface ucin fterrsetv *ua classes. "*Cuda" respective their of functions # ee eo.AlMngdC Managed All below. level na on plcto ee hr an where level application bet ntr.Oc nteCd ee,teprn ucin in functions parent the level, Cuda the in Once turn. in objects H GSAlgStandardMan olo “ G Extends otase h aat aietps hsi hnpse othe to passed then is This types. native to data the transfer to en ” ++ .NET iue8 ooe eilsto architecture serialisation HoloGen 8: Figure rpe lse aetesu the have classes wrapper aatpsue yC by used types data beti ws hsue t base its uses This owns. it object AlgorithmController ++ rpe lse aetesu the have classes wrapper [email protected] “ Implements # ooe plcto n sritraet h uaC Cuda the to interface user and application HoloGen # fe h aai oidbtentetotps h native the types, two the between copied is data the After . ” ffi *rp.Teecasscn ntr,ps h aaonto data the pass turn, in can, classes These "*Wrap". x nak the unpacks ffi *a" aae C Managed "*Man". x Convert(GSAlgStandardMan) “ Option Encapsulates AlgorithmCuda aaee irrh n assit passes and hierarchy parameter AlgorithmController / ” C GSAlgStandardWrap ++ ++ lse aetesu the have classes adetransferring handle irre r beto able are libraries functions / calls C and ffi ++ 8 x

June 19, 2020 HoloGen v2.2.1.17177 l sritraelbaisaepexdwt HlGnI n r rte nC sn WPF. using C# in written are and "HoloGenUI" with prefixed are libraries interface user All Ue nefc Libraries Interface section User This 1. Figure sections. in 7.1 shown earlier levels in application discussed three not the classes to key reference any with and HoloGen used within libraries libraries the of discusses layout the shows 9 Figure L 7 the by e.g. manipulated data, and internal contained data the to bind e.g. file, *.xaml a in standard a follows HoloGen U 6 as the such in libraries found the in classes in level the classes command using deserialisation The and HoloGen. serialisation for JSON architecture the serialisation the shows 8 Figure S 5 S rcueand tructure erialisation ibrary • ser TabHandlers HoloGenUI I – – nterface TabDataTemplateSelector ainwd srstig nldn oictosadfieI.Da n rpbhvor r looese by overseen also are behaviours drop and Drag IO. file and notifications including settings MainWindowViewModel user wide cation plements of collection AbstractTab MainWindowViewModel D D escriptions sg of esign Dependency OptionsRoot.cs SetupTabView.xaml h anetypitfrteue plcto sritrae rvdstplvlimplementation top-level Provides interface. user application user the for point entry main The - o in for ITabHandler H olo AbstractTab View-Model-ViewModel a aaitraeta l te ascnihrt hsalw o epaigusing templating for allows This inherit. can tabs other all that interface data Tab - HoloGenIO HoloGenUIUtils G en . o the for sn the using iwoe osrc neligtemi plcto idw ep nobservable an Keeps window. application main the underlying construct ViewModel - library. ihaC a with , bet n srsosbefrmthn hmwt prpit ipa lse.Im- classes. display appropriate with them matching for responsible is and objects . iue9 ooe akg layout. package HoloGen 9: Figure e lse include: classes Key . TabHandlerFramework Dragablz ViewModel # tutr o t sritrae ahU lmn or element UI Each interface. user its for structure opno l,e.g. file, companion [email protected] HoloGenSerial library. e.g. , SetupTabViewModel.cs irr.Teete rt oadra rmtefiesystem file the from read and to write then These library. . MainWindowViewModel SetupTabView.xaml.cs hc ntr od ade othe to handles holds turn in which , API API Interface HoloGenUIMenu srsosbefrteappli- the for responsible is h otie Ielements UI contained The . View sdfie graphically defined is nefc to interface 9

June 19, 2020 HoloGen v2.2.1.17177 l plcto irre r rfie ih"HoloGen". with prefixed are libraries application All ApiainLibraries Application 7.2 S rcueand tructure • • • • • • • • • • • • • Hierarchy HoloGenDSMan h ipa oei rte nC in written is code display The LiveCharts audimage. valued HoloGenProcess by wrapped algorithms the with it communicate and tion HoloGenController include: classes Key libraries. level higher by HoloGenUIUtils HoloGenUI3DViewer HoloGenUIMask HoloGenUIImageViewer di displaying for implementations HoloGenUIBatch HoloGenUIResources HoloGenUIGraph the as HoloGenUIProcessMonitor used Primarily 3. Section in discussed in defined are HoloGenUIOptionEditors editors Individual style. Menu" "Hamburger Metro tionEditors Microsoft a in hierarchies parameter HoloGenUIHamburger top. on HoloGenUIMenus sheets parameter XAML and classes ViewModel between – – – – – – – – – – TabHandlerFramework ITabHandler ICanExport CreatorsThesis ITabHandler ITabHandler similar for instances new create TemplateGenerator SelectColumnFactory DefaultColumnFactory AbstractColumnFactory from data.. object masking optional with 3D and HologramTabViewModel algorithms. underlying ProcessViewModel the from messages reporting and ProcessTabViewModel BrowserTabViewModel BrowserTabViewModel BatchTabViewModel BatchTabViewModel burger SetupTabViewModel SetupTabViewModel D sg of esign irr icse nScin3. Section in discussed library . using . H HoloGenUIMask enslwlvluiiycassfrteHlGnU swl sasrc nefcsfrsrie o services for interfaces abstract as well as UI HoloGen the for classes utility level low Defines - and ensdt tutrsfrdfiigahlga eeainprocess. generation hologram a defining for structures data Defines - HoloGenUIGraph xed h ucinlt from functionality the Extends - , ensdslycassfrtebthpoesn a.Dfie ubrof number a Defines tab. processing batch the for classes display Defines - olo Defines - ensdslycassfrratm charting. realtime for classes display Defines - enscassta nrpthe unwrap that classes Defines - mlmnain a xedt elr hi Orequirements. IO their declare to extend can implementations and n a eitrisl with itself register can and ICanExportBitmap HoloGenOSPRMan G xed h ucinlt from functionality the Extends - enstasainsrnsfrteapiainlocalisation. application the for strings translation Defines - ensasre fView of series a Defines - ipa hm o h plcto ul ntpof top on built application the for theme Display - en TabHandlerFramework enscassfrveigcmlxvle mgsi 2D. in images valued complex viewing for classes Defines - betfrom object ensasre fView of series a Defines - smi ucinsre owa a wrap to serves function main ’s smi ucinsre owa a wrap to serves function main ’s eprcasfor class Helper - oceeipeetto of implementation Concrete - Options ensdslycassfrteagrtmmntrn a.Tecatn sbito o of top on built is charting The tab. monitoring algorithm the for classes display Defines - and , imported the wrap to serves function main ’s oceeipeetto of implementation Concrete - hl eann goato h implementation. the of ignorant remaining while oceeipeetto of implementation Concrete - , oceeipeetto of implementation Concrete - oceeipeetto of implementation Concrete - # ff n P n iso o fteVeMdl.Teei n ooecorrespondence one to one a is There ViewModels. the of top on lies and WPF and . nefc o eiso atr bet - objects factory of series a for Interface - erent TextColumnFactory DoubleColumnFactory . Option and HoloGenUIProcessMonitor Option e ls is class Key . , HologramTabViewModel Commands ICanExportExcel efnodes leaf types. AbstractColumnFactory [email protected] TabHandlerFramework / ye.Kycassinclude: classes Key types. iwoe ar htsret nakaddisplay and unpack to serve that pairs ViewModel en evc rmwr.The framework. service a Define - HoloGenUIImageViewer Options / o h anapiainflotmn.Bito-o fthe of on-top Built menu. flyout application main the for iwoe ar htsret ipa h di the display to serve that pairs ViewModel HoloGenUIMask AlgorithmController HoloGenAlgBaseMan for sdfrgnrtn WPF generating for used - AbstractTab HoloGenUIHamburger , BatchViewModel AbstractTab AbstractTab HamburgerTabViewModel ProcessTabViewModel irrh endin defined hierarchy , IntegerColumnFactory ICanExportMat HoloGenUIGraph . smi ucinsre owa a wrap to serves function main ’s AbstractTab AbstractTab hwn ope audiae n3D. in images valued complex showing oe ee ls irre a hncl the call then can libraries class level Lower . o etn pahlga eeainprocess. generation hologram a up setting for mlmnain htue ie eeaeto delegate given a uses that implementations MahApps CEFSharp o iulsn unn rcs parameters process running visualising for o iulsn ope audiae n2d in images valued complex visualising for hwn akdrgoso Dcomplex 2D a on regions masked showing , HoloGenAlgGSMan betfrom object . HoloGenOptions . . and sbito o of top on built is rvdn ul nbrowser. in built a providing DataGridColumns MainWindowViewModel smi ucinsre owa a wrap to serves function main ’s functionality. o ac rcsigdata. processing batch for betfrom object ICanSave , HoloGenUIBatch BooleanColumnFactory AbstractColumnFactory PathColumnFactory , ff o oormgenera- hologram for HoloGenAlgSAMan HoloGenHierarchy erent nefcsthat Interfaces - HoloGenUIHam- LiveCharts MaskViewModel HoloGenUIOp- . Option . HoloGen- extends . ff types ered 10 , , ,

June 19, 2020 HoloGen v2.2.1.17177 l loih irre r rfie ih"ooeAg n eiv h Mn r"ua su "Cuda" or "Man" the recieve C and Managed "HoloGenAlg" in with written prefixed are libraries algorithm All AgrtmLibraries Algorithm 7.3 S rcueand tructure • • • • • • • • • • • • • • • • • • • • • • HoloGenUIMask HoloGenUIBatch Hierarchy include: HoloGenAlgBaseCuda HoloGenAlgOSPRMan HoloGenAlgDSMan HoloGenAlgSAMan HoloGenAlgGSMan HoloGenAlgCommonMan HoloGenAlgBaseMan configuration. HoloGenAlg HoloGen HoloGenUtils 6. Section HoloGenIO HoloGenSerial HoloGenMaskOptions ageViewer HoloGenImageOptions the of on-top HoloGenSettings HoloGenBatchOptions cessMonitor HoloGenProcessOptions HoloGenOptions HoloGenResources HoloGenImports HoloGenHierarchy HoloGenImage – – – – – – – – aus ensseilsdJO nefc omnsi re opeev ikspace. disk preserve to order in commands interface JSON specialised Defines values. space. disk preserve to order in commands interface JSON specialised Defines values. AlgorithmCuda for implementation base the Provides reusability. increase to computation the for used are functions GenericCache ComplexImage a Uses times. load future reduce to cached is result the image, ColorScheme particular a for GenericCache generated is bitmap alisation ImageCache ComplexImage loih parameters. algorithm Normaliser FFTUpdaterCuda FFTHandlerCuda D sg of esign omn ieitraefrteHlGnapplication. HoloGen the for interface line Command - ul ntpo the of on-top Built . irr icse nScin3. Section in discussed library ul ntpo the of on-top Built . ade h l nu ndupto eilsdof serialised of doutput an input file the Handles - ++ omn ieitraefrteHlGnagrtm.Ue o ac rcsigts aai client-server a in data test processing batch for Used algorithms. HoloGen the for interface line Command - HoloGenHierarchy tlt lse o ooe tteapiainlvl e lse include: classes Key level. application the at HoloGen for classes Utility - ade h eilsto of serialisation the Handles - enscassrltdt ope audiae.Kycassinclude: classes Key images. valued complex to related classes Defines - rCd C Cuda or H ul ntpo the of on-top Built . ensan Defines - ul ntpo the of on-top Built . lse rcntut hthv enipre rmohrapiain nasuc oeformat. code source a in applications other from imported been have that constructs or Classes - ensan Defines - olo rvdsafs etrnraiainfeature. normalisation vector fast a Provides - ensaccefrdi for cache a Defines - ensthe Defines - enstasainsrnsfrteapiainlocalisation. application the for strings translation Defines - and aae C Managed - aae C Managed - C Managed - from ensaccefrcmuainlyepnierslsuigu ofu di four to up using results expensive computationally for cache a Defines - betta od niaein image an holds that Object - betta od niaein image an holds that Object - G aelvlagrtmdfiiin trstre,ilmnto n trigiae swl scommon as well as images starting and illumination target, Stores definition. algorithm level Base - aae C Managed - C - ensan Defines - aae C Managed - pae h elyfil fe h hneo igerfato edpixel. field refraction single a of change the after field replay the Updates - the Wraps - en ensan Defines - ImageScaleType ensan Defines - ensan Defines - ++ HoloGenUtils / aae C Managed - C ++ Options Options n uaCbs ee loih entos icse ute nScin4 e classes Key 4. Section in further Discussed definitions. algorithm level base C Cuda and HoloGenHierarchy . HoloGenHierarchy Options irr icse nScin3. Section in discussed library ++ ++ ++ ++ CUFFT Options ++ Options rpe for wrapper Options HoloGenHierarchy rpe for wrapper for wrapper HoloGenHierarchy Options irrh o h plcto etnsin settings application the for hierarchy rpe for wrapper ++ irrh o h oormgnrto loihs ul ntpo the of on-top Built algorithms. generation hologram the for hierarchy rpe for wrapper steudryn mlmnainwt the with implementation underlying the as and nm stefu ceskeys. access four the as enums ff rpe for wrapper erent F irr with library FFT HierarchySaveable [email protected] irrh o iulsn ope audiae ihmsigdt in data masking with images valued complex visualising for hierarchy irrh o aiuaigternigpoesdslyin display process running the manipulating for hierarchy Command irrh o h ac rcsighlga eeainagrtm in algorithms generation hologram processing batch the for hierarchy irrh o iulsn ope audiae in images valued complex visualising for hierarchy HoloGenAlgSACuda HoloGenAlgDSCuda HoloGenAlgGSCuda Bitmap irr icse nScin3. Section in discussed library HoloGenAlgBaseCuda irr icse nScin3. Section in discussed library HoloGenAlgOSPRCuda Complex Complex HoloGenAlgCommonCuda irrh icse nScin3. Section in discussed hierarchy irr icse nScin3. Section in discussed library irr icse nScin3. Section in discussed library iw na on views Thrust HierarchySaveable omta ela eeainmtdt n pre-cached and metadata generation as well as format omta ela eeainmtdt n pre-cached and metadata generation as well as format aaojcs icse ute nScin6. Section in further Discussed objects. data redyfunctions. friendly . . . ComplexImage . . HoloGenUI . TransformType ffi aaojcs icse ute in further Discussed objects. data eedn nwehrte are they whether on depending x bet neapriua visu- particular a Once object. and HoloGenUIMenus ff rn es Lambda keys. erent , ImageViewType HoloGenUIPro- HoloGenUIIm- ImageCache HoloGen- Built . 11 . ,

June 19, 2020 HoloGen v2.2.1.17177 hl ooe sfauerc,i sb omasacmlt akg.I atclr h ubro loihsaalbei limited is available algorithms of number the particular, In package. complete a means no by is it rich, feature is HoloGen While hsatcehspeetdabifsmayo h tutr n eino ooe,a pnsuc oormgnrto package. generation hologram open-source an HoloGen, of design and structure the of summary brief a presented has article This eeomn fHlGni non n h uhr ecm n edak dieadassac o assistance and advice feedback, any welcome authors the and ongoing is HoloGen of Development implemented. be should algorithms additional and F 8 here. presented is function their of description brief A libraries. imported of number a uses also HoloGen Libraries Imported 7.4 S rcueand tructure urther • • • • • • • • • • • • • • • • • • • • • • • • • • • • • NUnit Accord AForge MathNet Newtonsoft.Json NHotKey Xceed PdfiumViewer Cuda CefSharp ClosedXML SharpDX ExcelNumberFormat Xamarin.Forms HelixToolkit ControlzEx Dragablz LiveCharts MahApps HoloGenAlgOSPRCuda HoloGenAlgDSCuda HoloGenAlgSACuda approaches. transform HoloGenAlgGSCuda HoloGenAlgCommonCuda DocumentFormat.OpenXML FastMember.Signed GongSolutions.WPF.DragDrop MaterialSkin MaterialDesign – – – StridedChunkRange QuantiserCuda Randomiser rgambeitraet Vdagahc cards. graphics NVidia to interface Programmable - R D ntts rmwr o NTlanguages. .NET for framework test unit - aardcnrl o P apps. WPF for controls DataGrid - ahmtc akg o NTlanguages. .NET for package Mathematics - ahmtc akg o NTlanguages. .NET for package Mathematics - sac and esearch sg of esign ahmtc akg o NTlanguages. .NET for package Mathematics - lblhtky o P apps. WPF for keys hot Global - rgal asfrWPF. for tabs Draggable - P iet compatibility. DirectX WPF - P optbywaprfrteCrmu browser. Chromium the for wrapper compatibly WPF - utmcnrl o P psa ela aeildsg knbsdo irsf’ er UI. Metro Microsoft’s on based skin design material a as well as apps WPF for controls Custom - utmsbeadbnal eltm hriglibrary. charting real-time bindable and Customisable - utmcnrl o P apps. WPF for controls Custom - irsf xe integration. Excel Microsoft - Dvee o P apps. WPF for viewer 3D - lentv aeilDsg optbesi o P apps. WPF for skin compatible Design Material Alternative - D l viewer. file PDF - Mobile - aeilDsg optbesi o P apps. WPF for skin compatible Design Material - H SNsraiainfr.E languages. .NET for serialisation JSON - olo losfrrnoiaino di of randomisation for Allows - atrflcinfor reflection Fast - C - dacdEclnme formatting. number Excel Advanced - C - C - G aelvlqatsto algorithm. quantisation level Base - C en ++ C - ++ ++ / altcompatibility. tablet onclusion C - ++ Customised - n uaCipeetto ftesmltdanaigalgorithm. annealing simulated the of implementation C Cuda and n uaCipeetto ftedrc iaysac algorithm. search binary direct the of implementation C Cuda and n uaCipeetto fteGrhegSxo loih n te trtv Fourier iterative other and algorithm Gerchberg-Saxton the of implementation C Cuda and irsf O Microsoft - ++ n uaCipeetto fteOeSe hs-erea algorithm. Phase-Retrieval One-Step the of implementation C Cuda and P rgaddo capability. drop and drag WPF - n uaCcmo tlt functions. utility common C Cuda and .NET Thrust ffi efiefra interoperability. format file ce . [email protected] trtrta a trt hog qaergoso matrix. a of regions square through iterate can that iterator ff rn obntoso hs n amplitude. and phase of combinations erent ff rddrn hsprocess. this during ered 12

June 19, 2020 HoloGen v2.2.1.17177 SapXLibrary, SharpDX [20] Library, LiveCharts [19] Library, MaterialSkin [18] [17] [16] [15] [14] [13] [12] [11] [10] R S [9] [8] [7] [6] [5] [4] [3] [2] Cuda, [1] rcueand tructure eferences aeotc irr o C for library optics wave 9()(00 095801. (2010) (9) 49 21)1404. (2013) 77. (2017) 10.1016/j.cpc.2011.12.027 URL URL URL Engineering Optical annealing, simulated by holography unit–accelerated processing Graphics A41–A47. Wilkinson, (2019) D. e T. (5) Highly Carpenter, 58 Ming, J. Optics Applied H. table, Wang, lookup A. a Feng, using Q. stereogram Lv, G. Wang, 206–211. Z. (2014) (1) specific 52 on Investigation Engineering Netti, in URL Antonio P. Lasers Ferraro, and P. Fusco, Optics S. optlaseng.2013.06.008 algorithm, Embrione, V. Gerchberg-Saxton Paciello, of A. solutions Merola, F. Miccio, L. Memmolo, P. both 5486–5488. integrating (2013) by (22) method 124 URL phase Optik detour computations, binary parallel of GPU’s ijleo.2013.03.170 calculations for the programming Accelerating Matlab Al-Shufi, e and K. for CUDA (7) El-Daher, usage 52 S. memory Optics M. the Applied Makey, Reducing display, G. Jiang, holographic W. Zhao, full-color Q. in Zhang, table B. look-up Sun, compressed Z. using Pan, look-up Y. calculation novel Li, hologram and X. generated encoding Liu, run-length J. Wang, using Y. object Jia, 1030. 3D J. (2009) a (6) of 48 patterns Optics hologram Applied of methods, computation table Fast Kim, E.-S. Kim, S.-C. D55. (2008) (19) 47 Optics Applied method, E Kim, E.-S. polygon- Kim, H54–H63. the S.-C. (2009) by (34) created 48 hologram Optics computer-generated Tenth Applied full-parallax 10964, method, high-definition 116. SPIE based Extremely p. Proc. Nakahara, 2018, in: S. SPIE, transform, Matsushima, 10964, Vol. wavelet K. Photonics, using and calculation Optics hologram Information Fast on Ito, Ito, Conference T. T. 80–84. International Kakue, T. (2018) Kakue, Yamada, S. T. 2017) Shimobaba, T. (August Hirayama, 412 R. Communications Sano, Optics M. domain, URL Hasegawa, wavelet S. in Nagahama, calculation doi:10.1016/j.optcom.2017.11.066 Y. Takahashi, hologram T. large-scale (1) 25 Matsushima, Fast, Express K. Optics shrinkage, Shimobaba, wavelet T. using holograms computer-generated of generation 7303. Fast (2012) Ito, (30) T. computer- 51 Shimobaba, high-resolution Optics T. Fast Applied Ito, system, T. cluster Masuda, unit N. processing Oikawa, graphics M. doi:10.1364/ao.51.007303 multiple Okada, using N. computation Shiraki, hologram A. generated Nakayama, H. Shimobaba, T. Takada, N. ray backward 12–17. on (2018) based URL (July) holograms 429 computer-generated Communications photorealistic Optics Real-time 07.068 planes, Zhao, recording L. wavefront Li, and H. tracing Chen, Z. Computational Sang, Ito, X. Wang, T. Y. Masuda, N. Shiraki, A. Takada, URL N. Nishitsuji, T. Okada, N. Sakurai, T. Weng, wavefront with J. hologram Shimobaba, 3133. computer-generated T. (2009) for (20) algorithm 34 calculation Letters fast Optics and plane, Simple recording Ito, T. Masuda, N. Shimobaba, T. 199–216. pp. 2017, Springer, Conference, gearshi Werner, M. Steinbach, P. URL http://sharpdx.org/ https://lvcharts.net/ https://github.com/IgnaceMaes/MaterialSkin http://dx.doi.org/10.1016/j.optlaseng.2013.06.008 http://dx.doi.org/10.1016/j.ijleo.2013.03.170 https://doi.org/10.1016/j.optcom.2017.11.066 https://doi.org/10.1016/j.optcom.2018.07.068 http://dx.doi.org/10.1016/j.cpc.2011.12.027 https://developer.nvidia.com/cuda-zone/ www.developer.nvidia.com/cuda-zone . D doi:10.1364/oe.25.000077 sg of esign doi:10.1364/ao.52.001404 www.sharpdx.org www.lvcharts.net H olo . www.github.com/IgnaceMaes/MaterialSkin doi:10.1117/1.3484950 ff G ciegnrto fdgtlhlgaso he-iesoa bet sn oe oku table look-up novel a using objects three-dimensional of holograms digital of generation ective ++ . en CWO : . ff . t–the ++ (2018-01-01). ff ecmr ut o eeoeeu ltom,i:ItrainlSupercomputing International in: platforms, heterogeneous for suite benchmark t irr,Cmue hsc omnctos13()(02 1124–1138. (2012) (5) 183 Communications Physics Computer library, . (2018-01-01). . . doi:10.1364/ao.47.000d55 [email protected] . doi:10.1364/ao.48.001030 (2018-01-01). doi:10.1364/ol.34.003133 doi:10.1364/ao.48.000h54 ffi in aclto ehdfrcmue-eeae holographic computer-generated for method calculation cient (2018-01-01). doi:10.1364/ao.58.000a41 . . . . doi:10.1016/j.optcom.2018. doi:10.1117/12.2505810 doi:10.1016/j. doi:10.1016/j. . ff ectivecomputer- doi: 13 .

June 19, 2020 HoloGen v2.2.1.17177 [42] [41] License, Library ControlzEx [40] License, Library SharpDX [38] Library, AForge.NET [27] Library, NUnit [26] Library, Newtonsoft.Json [25] Library, Math.NET [24] Library, NHotkey [23] Library, ControlzEx [22] Library, Toolkit Helix [21] S NntLbayLicense, Library NUnit [43] [39] Library, ManagedCuda [28] MTLicense, MIT [44] [37] License, Library MaterialSkin [36] Library, GongSolutions.WPF.DragDrop [35] Library, MoreLinq [34] Library, ClosedXML [33] Library, CefSharp [32] Library, PdfiumViewer [31] Library, csmatio [30] Library, Accord.NET [29] rcueand tructure etnotJo irr License, Library Newtonsoft.Json URL 01). License, Library Math.NET URL URL 01-01). License, Library Toolkit Helix URL 01-01). License, Library LiveCharts URL URL URL URL URL URL URL 01-01). URL URL URL URL URL URL URL URL URL URL URL URL URL https://github.com/mathnet/mathnet-numerics/blob/master/LICENSE.mdmp https://github.com/ControlzEx/ControlzEx/blob/develop/LICENSE https://github.com/helix-toolkit/helix-toolkit/blob/develop/LICENSE https://github.com/beto-rodriguez/Live-Charts/blob/master/LICENSE.TXT http://nunit.org/ https://www.newtonsoft.com/json https://www.mathdotnet.com/ https://github.com/thomaslevesque/NHotkey https://github.com/ControlzEx/ControlzEx https://github.com/helix-toolkit/helix-toolkit https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md https://github.com/sharpdx/SharpDX/blob/master/License.txt http://www.aforgenet.com/framework/ https://opensource.org/licenses/MIT http://nunit.org/nuget/nunit3-license.txt https://github.com/IgnaceMaes/MaterialSkin/blob/master/LICENSE https://github.com/punker76/gong-wpf-dragdrop https://github.com/morelinq/MoreLINQ https://github.com/closedxml/closedxml https://github.com/cefsharp/CefSharp https://github.com/pvginkel/PdfiumViewer https://sourceforge.net/projects/csmatio/ http://accord-framework.net/ https://kunzmi.github.io/managedCuda/p D sg of esign www.opensource.org/licenses/MIT www.nunit.org sourceforge.net/projects/csmatio/ www.github.com/thomaslevesque/NHotkey github.com/cefsharp/CefSharpr github.com/morelinq/MoreLINQ www.mathdotnet.com H www.github.com/ControlzEx/ControlzEx github.com/closedxml/closedxml accord-framework.net/ olo www.aforgenet.com/framework www.github.com/helix-toolkit/helix-toolkit github.com/pvginkel/PdfiumViewer www.kunzmi.github.io/managedCuda www.nunit.org/nuget/nunit3-license.txt G www.newtonsoft.com/json www.github.com/sharpdx/SharpDX/blob/master/License.txt en www.github.com/ControlzEx/ControlzEx/blob/develop/LICENSE www.github.com/beto-rodriguez/Live-Charts/blob/master/LICENSE.TXT www.github.com/mathnet/mathnet-numerics/blob/master/LICENSE.md www.github.com/IgnaceMaes/MaterialSkin/blob/master/LICENSE www.github.com/helix-toolkit/helix-toolkit/blob/develop/LICENSE (2018-01-01). www.github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md github.com/punker76/gong-wpf-dragdrop (2018-01-01). [email protected] (2018-01-01). (2018-01-01). (2018-01-01). (2018-01-01). (2018-01-01). (2018-01-01). (2018-01-01). (2018-01-01). (2018-01-01). (2018-01-01). (2018-01-01). (2018-01-01). (2018-01-01). (2018-01-01). (2018-01-01). (2018-01-01). (2018-01-01). (2018-01-01). (2018-01- (2018- (2018- (2018- 14

June 19, 2020 HoloGen v2.2.1.17177 Xamarin.Forms, [57] EULA, Cuda [56] License, Library CefSharp [53] 2.0, License Apache [52] License, Library PdfiumViewer [51] License, Library NHotkey [50] License, Public General Lesser [49] License, Library Accord.NET [48] License, Library ManagedCuda [47] License, Library AForge.NET [46] License, Library ClosedXML [45] S [58] [55] License, BSD 3-Clause The [54] rcueand tructure (2018-01-01). hlegsfrdgtlhlgahcvdodslysses inlPoesn:IaeCmuiain7 21)114–130. (2019) 70 processing Communication Signal Image Schelkens, P. Processing: Schretter, Signal C. systems, Ottevaere, display H. video Symeonidou, holographic A. digital Birnbaum, T. for Bettens, challenges S. Ahar, A. Blinder, D. URL URL License, Library GongSolutions.WPF.DragDrop URL URL URL URL URL URL URL URL URL URL URL http://docs.nvidia.com/cuda/eula/index.html https://github.com/punker76/gong-wpf-dragdrop/blob/dev/LICENSE https://www.apache.org/licenses/LICENSE-2.0 https://github.com/pvginkel/PdfiumViewer/blob/master/LICENSE https://github.com/thomaslevesque/NHotkey/blob/master/LICENSE.md https://www.gnu.org/licenses/lgpl-3.0.en.html https://github.com/accord-net/framework/blob/development/LICENSE https://github.com/kunzmi/managedCuda/blob/master/LICENSE.txt http://www.aforgenet.com/framework/license.html https://github.com/ClosedXML/ClosedXML/blob/develop/LICENSE https://www.xamarin.com/forms https://opensource.org/licenses/BSD-3-Clause https://github.com/cefsharp/CefSharp/blob/master/LICENSE D sg of esign docs.nvidia.com/cuda/eula/index.html www.xamarin.com/forms H www.apache.org/licenses/LICENSE-2.0 olo G www.github.com/thomaslevesque/NHotkey/blob/master/LICENSE.md github.com/cefsharp/CefSharp/blob/master/LICENSE en opensource.org/licenses/BSD-3-Clause github.com/ClosedXML/ClosedXML/blob/develop/LICENSE github.com/accord-net/framework/blob/development/LICENSE www.aforgenet.com/framework/license.html www.gnu.org/licenses/lgpl-3.0.en.html github.com/pvginkel/PdfiumViewer/blob/master/LICENSE www.github.com/kunzmi/managedCuda/blob/master/LICENSE.txt (2018-01-01). [email protected] github.com/punker76/gong-wpf-dragdrop/blob/dev/LICENSE (2018-01-01). (2018-01-01). (2018-01-01). (2018-01-01). (2018-01-01). (2018-01-01). (2018-01-01). (2018-01-01). (2018-01-01). (2018-01-01). (2018-01-01). 15

June 19, 2020