HOperatorSet.h 410 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682
  1. /***********************************************************
  2. * File generated by the HALCON-Compiler hcomp version 20.11
  3. * Usage: Interface to C++
  4. *
  5. * Software by: MVTec Software GmbH, www.mvtec.com
  6. ***********************************************************/
  7. #ifndef HCPP_HOPERATORSET
  8. #define HCPP_HOPERATORSET
  9. namespace HalconCpp
  10. {
  11. /***************************************************************************
  12. * Operators *
  13. ***************************************************************************/
  14. // Compute the union of cotangential contours.
  15. LIntExport void UnionCotangentialContoursXld(const HObject& Contours, HObject* UnionContours, const HTuple& FitClippingLength, const HTuple& FitLength, const HTuple& MaxTangAngle, const HTuple& MaxDist, const HTuple& MaxDistPerp, const HTuple& MaxOverlap, const HTuple& Mode);
  16. // Transform a contour in polar coordinates back to Cartesian coordinates
  17. LIntExport void PolarTransContourXldInv(const HObject& PolarContour, HObject* XYTransContour, const HTuple& Row, const HTuple& Column, const HTuple& AngleStart, const HTuple& AngleEnd, const HTuple& RadiusStart, const HTuple& RadiusEnd, const HTuple& WidthIn, const HTuple& HeightIn, const HTuple& Width, const HTuple& Height);
  18. // Transform a contour in an annular arc to polar coordinates.
  19. LIntExport void PolarTransContourXld(const HObject& Contour, HObject* PolarTransContour, const HTuple& Row, const HTuple& Column, const HTuple& AngleStart, const HTuple& AngleEnd, const HTuple& RadiusStart, const HTuple& RadiusEnd, const HTuple& Width, const HTuple& Height);
  20. // Create control data of a NURBS curve that interpolates given points.
  21. LIntExport void GenNurbsInterp(const HTuple& Rows, const HTuple& Cols, const HTuple& Tangents, const HTuple& Degree, HTuple* CtrlRows, HTuple* CtrlCols, HTuple* Knots);
  22. // Transform a NURBS curve into an XLD contour.
  23. LIntExport void GenContourNurbsXld(HObject* Contour, const HTuple& Rows, const HTuple& Cols, const HTuple& Knots, const HTuple& Weights, const HTuple& Degree, const HTuple& MaxError, const HTuple& MaxDistance);
  24. // Compute the union of closed polygons.
  25. LIntExport void Union2ClosedPolygonsXld(const HObject& Polygons1, const HObject& Polygons2, HObject* PolygonsUnion);
  26. // Compute the union of closed contours.
  27. LIntExport void Union2ClosedContoursXld(const HObject& Contours1, const HObject& Contours2, HObject* ContoursUnion);
  28. // Compute the symmetric difference of closed polygons.
  29. LIntExport void SymmDifferenceClosedPolygonsXld(const HObject& Polygons1, const HObject& Polygons2, HObject* PolygonsDifference);
  30. // Compute the symmetric difference of closed contours.
  31. LIntExport void SymmDifferenceClosedContoursXld(const HObject& Contours1, const HObject& Contours2, HObject* ContoursDifference);
  32. // Compute the difference of closed polygons.
  33. LIntExport void DifferenceClosedPolygonsXld(const HObject& Polygons, const HObject& Sub, HObject* PolygonsDifference);
  34. // Compute the difference of closed contours.
  35. LIntExport void DifferenceClosedContoursXld(const HObject& Contours, const HObject& Sub, HObject* ContoursDifference);
  36. // Intersect closed polygons.
  37. LIntExport void IntersectionClosedPolygonsXld(const HObject& Polygons1, const HObject& Polygons2, HObject* PolygonsIntersection);
  38. // Intersect closed contours.
  39. LIntExport void IntersectionClosedContoursXld(const HObject& Contours1, const HObject& Contours2, HObject* ContoursIntersection);
  40. // Compute the union of contours that belong to the same circle.
  41. LIntExport void UnionCocircularContoursXld(const HObject& Contours, HObject* UnionContours, const HTuple& MaxArcAngleDiff, const HTuple& MaxArcOverlap, const HTuple& MaxTangentAngle, const HTuple& MaxDist, const HTuple& MaxRadiusDiff, const HTuple& MaxCenterDist, const HTuple& MergeSmallContours, const HTuple& Iterations);
  42. // Crop an XLD contour.
  43. LIntExport void CropContoursXld(const HObject& Contours, HObject* CroppedContours, const HTuple& Row1, const HTuple& Col1, const HTuple& Row2, const HTuple& Col2, const HTuple& CloseContours);
  44. // Generate one XLD contour in the shape of a cross for each input point.
  45. LIntExport void GenCrossContourXld(HObject* Cross, const HTuple& Row, const HTuple& Col, const HTuple& Size, const HTuple& Angle);
  46. // Sort contours with respect to their relative position.
  47. LIntExport void SortContoursXld(const HObject& Contours, HObject* SortedContours, const HTuple& SortMode, const HTuple& Order, const HTuple& RowOrCol);
  48. // Merge XLD contours from successive line scan images.
  49. LIntExport void MergeContLineScanXld(const HObject& CurrConts, const HObject& PrevConts, HObject* CurrMergedConts, HObject* PrevMergedConts, const HTuple& ImageHeight, const HTuple& Margin, const HTuple& MergeBorder, const HTuple& MaxImagesCont);
  50. // Read XLD polygons from a file in ARC/INFO generate format.
  51. LIntExport void ReadPolygonXldArcInfo(HObject* Polygons, const HTuple& FileName);
  52. // Write XLD polygons to a file in ARC/INFO generate format.
  53. LIntExport void WritePolygonXldArcInfo(const HObject& Polygons, const HTuple& FileName);
  54. // Read XLD contours to a file in ARC/INFO generate format.
  55. LIntExport void ReadContourXldArcInfo(HObject* Contours, const HTuple& FileName);
  56. // Write XLD contours to a file in ARC/INFO generate format.
  57. LIntExport void WriteContourXldArcInfo(const HObject& Contours, const HTuple& FileName);
  58. // Read the geo coding from an ARC/INFO world file.
  59. LIntExport void ReadWorldFile(const HTuple& FileName, HTuple* WorldTransformation);
  60. // Compute the parallel contour of an XLD contour.
  61. LIntExport void GenParallelContourXld(const HObject& Contours, HObject* ParallelContours, const HTuple& Mode, const HTuple& Distance);
  62. // Create an XLD contour in the shape of a rectangle.
  63. LIntExport void GenRectangle2ContourXld(HObject* Rectangle, const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Length1, const HTuple& Length2);
  64. // Compute the distances of all contour points to a rectangle.
  65. LIntExport void DistRectangle2ContourPointsXld(const HObject& Contour, const HTuple& ClippingEndPoints, const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Length1, const HTuple& Length2, HTuple* Distances);
  66. // Fit rectangles to XLD contours.
  67. LIntExport void FitRectangle2ContourXld(const HObject& Contours, const HTuple& Algorithm, const HTuple& MaxNumPoints, const HTuple& MaxClosureDist, const HTuple& ClippingEndPoints, const HTuple& Iterations, const HTuple& ClippingFactor, HTuple* Row, HTuple* Column, HTuple* Phi, HTuple* Length1, HTuple* Length2, HTuple* PointOrder);
  68. // Segment XLD contour parts whose local attributes fulfill given conditions.
  69. LIntExport void SegmentContourAttribXld(const HObject& Contour, HObject* ContourPart, const HTuple& Attribute, const HTuple& Operation, const HTuple& Min, const HTuple& Max);
  70. // Segment XLD contours into line segments and circular or elliptic arcs.
  71. LIntExport void SegmentContoursXld(const HObject& Contours, HObject* ContoursSplit, const HTuple& Mode, const HTuple& SmoothCont, const HTuple& MaxLineDist1, const HTuple& MaxLineDist2);
  72. // Approximate XLD contours by circles.
  73. LIntExport void FitCircleContourXld(const HObject& Contours, const HTuple& Algorithm, const HTuple& MaxNumPoints, const HTuple& MaxClosureDist, const HTuple& ClippingEndPoints, const HTuple& Iterations, const HTuple& ClippingFactor, HTuple* Row, HTuple* Column, HTuple* Radius, HTuple* StartPhi, HTuple* EndPhi, HTuple* PointOrder);
  74. // Approximate XLD contours by line segments.
  75. LIntExport void FitLineContourXld(const HObject& Contours, const HTuple& Algorithm, const HTuple& MaxNumPoints, const HTuple& ClippingEndPoints, const HTuple& Iterations, const HTuple& ClippingFactor, HTuple* RowBegin, HTuple* ColBegin, HTuple* RowEnd, HTuple* ColEnd, HTuple* Nr, HTuple* Nc, HTuple* Dist);
  76. // Compute the distances of all contour points to an ellipse.
  77. LIntExport void DistEllipseContourPointsXld(const HObject& Contour, const HTuple& DistanceMode, const HTuple& ClippingEndPoints, const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Radius1, const HTuple& Radius2, HTuple* Distances);
  78. // Compute the distance of contours to an ellipse.
  79. LIntExport void DistEllipseContourXld(const HObject& Contours, const HTuple& Mode, const HTuple& MaxNumPoints, const HTuple& ClippingEndPoints, const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Radius1, const HTuple& Radius2, HTuple* MinDist, HTuple* MaxDist, HTuple* AvgDist, HTuple* SigmaDist);
  80. // Approximate XLD contours by ellipses or elliptic arcs.
  81. LIntExport void FitEllipseContourXld(const HObject& Contours, const HTuple& Algorithm, const HTuple& MaxNumPoints, const HTuple& MaxClosureDist, const HTuple& ClippingEndPoints, const HTuple& VossTabSize, const HTuple& Iterations, const HTuple& ClippingFactor, HTuple* Row, HTuple* Column, HTuple* Phi, HTuple* Radius1, HTuple* Radius2, HTuple* StartPhi, HTuple* EndPhi, HTuple* PointOrder);
  82. // Create XLD contours corresponding to circles or circular arcs.
  83. LIntExport void GenCircleContourXld(HObject* ContCircle, const HTuple& Row, const HTuple& Column, const HTuple& Radius, const HTuple& StartPhi, const HTuple& EndPhi, const HTuple& PointOrder, const HTuple& Resolution);
  84. // Create an XLD contour that corresponds to an elliptic arc.
  85. LIntExport void GenEllipseContourXld(HObject* ContEllipse, const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Radius1, const HTuple& Radius2, const HTuple& StartPhi, const HTuple& EndPhi, const HTuple& PointOrder, const HTuple& Resolution);
  86. // Add noise to XLD contours.
  87. LIntExport void AddNoiseWhiteContourXld(const HObject& Contours, HObject* NoisyContours, const HTuple& NumRegrPoints, const HTuple& Amp);
  88. // Combine road hypotheses from two resolution levels.
  89. LIntExport void CombineRoadsXld(const HObject& EdgePolygons, const HObject& ModParallels, const HObject& ExtParallels, const HObject& CenterLines, HObject* RoadSides, const HTuple& MaxAngleParallel, const HTuple& MaxAngleColinear, const HTuple& MaxDistanceParallel, const HTuple& MaxDistanceColinear);
  90. // Join modified XLD parallels lying on the same polygon.
  91. LIntExport void MaxParallelsXld(const HObject& ExtParallels, HObject* MaxPolygons);
  92. // Extract parallel XLD polygons enclosing a homogeneous area.
  93. LIntExport void ModParallelsXld(const HObject& Parallels, const HObject& Image, HObject* ModParallels, HObject* ExtParallels, const HTuple& Quality, const HTuple& MinGray, const HTuple& MaxGray, const HTuple& MaxStandard);
  94. // Return information about the gray values of the area enclosed by XLD parallels.
  95. LIntExport void InfoParallelsXld(const HObject& Parallels, const HObject& Image, HTuple* QualityMin, HTuple* QualityMax, HTuple* GrayMin, HTuple* GrayMax, HTuple* StandardMin, HTuple* StandardMax);
  96. // Return an XLD parallel's data (as lines).
  97. LIntExport void GetParallelsXld(const HObject& Parallels, HTuple* Row1, HTuple* Col1, HTuple* Length1, HTuple* Phi1, HTuple* Row2, HTuple* Col2, HTuple* Length2, HTuple* Phi2);
  98. // Extract parallel XLD polygons.
  99. LIntExport void GenParallelsXld(const HObject& Polygons, HObject* Parallels, const HTuple& Len, const HTuple& Dist, const HTuple& Alpha, const HTuple& Merge);
  100. // Return an XLD polygon's data (as lines).
  101. LIntExport void GetLinesXld(const HObject& Polygon, HTuple* BeginRow, HTuple* BeginCol, HTuple* EndRow, HTuple* EndCol, HTuple* Length, HTuple* Phi);
  102. // Return an XLD polygon's data.
  103. LIntExport void GetPolygonXld(const HObject& Polygon, HTuple* Row, HTuple* Col, HTuple* Length, HTuple* Phi);
  104. // Approximate XLD contours by polygons.
  105. LIntExport void GenPolygonsXld(const HObject& Contours, HObject* Polygons, const HTuple& Type, const HTuple& Alpha);
  106. // Split XLD contours at dominant points.
  107. LIntExport void SplitContoursXld(const HObject& Polygons, HObject* Contours, const HTuple& Mode, const HTuple& Weight, const HTuple& Smooth);
  108. // Apply a projective transformation to an XLD contour.
  109. LIntExport void ProjectiveTransContourXld(const HObject& Contours, HObject* ContoursProjTrans, const HTuple& HomMat2D);
  110. // Apply an arbitrary affine transformation to XLD polygons.
  111. LIntExport void AffineTransPolygonXld(const HObject& Polygons, HObject* PolygonsAffineTrans, const HTuple& HomMat2D);
  112. // Apply an arbitrary affine 2D transformation to XLD contours.
  113. LIntExport void AffineTransContourXld(const HObject& Contours, HObject* ContoursAffineTrans, const HTuple& HomMat2D);
  114. // Close an XLD contour.
  115. LIntExport void CloseContoursXld(const HObject& Contours, HObject* ClosedContours);
  116. // Clip the end points of an XLD contour.
  117. LIntExport void ClipEndPointsContoursXld(const HObject& Contours, HObject* ClippedContours, const HTuple& Mode, const HTuple& Length);
  118. // Clip an XLD contour.
  119. LIntExport void ClipContoursXld(const HObject& Contours, HObject* ClippedContours, const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2);
  120. // Select XLD contours with a local maximum of gray values.
  121. LIntExport void LocalMaxContoursXld(const HObject& Contours, const HObject& Image, HObject* LocalMaxContours, const HTuple& MinPercent, const HTuple& MinDiff, const HTuple& Distance);
  122. // Compute the union of neighboring straight contours that have a similar distance from a given line.
  123. LIntExport void UnionStraightContoursHistoXld(const HObject& Contours, HObject* UnionContours, HObject* SelectedContours, const HTuple& RefLineStartRow, const HTuple& RefLineStartColumn, const HTuple& RefLineEndRow, const HTuple& RefLineEndColumn, const HTuple& Width, const HTuple& MaxWidth, const HTuple& FilterSize, HTuple* HistoValues);
  124. // Compute the union of neighboring straight contours that have a similar direction.
  125. LIntExport void UnionStraightContoursXld(const HObject& Contours, HObject* UnionContours, const HTuple& MaxDist, const HTuple& MaxDiff, const HTuple& Percent, const HTuple& Mode, const HTuple& Iterations);
  126. // Compute the union of collinear contours (operator with extended functionality).
  127. LIntExport void UnionCollinearContoursExtXld(const HObject& Contours, HObject* UnionContours, const HTuple& MaxDistAbs, const HTuple& MaxDistRel, const HTuple& MaxShift, const HTuple& MaxAngle, const HTuple& MaxOverlap, const HTuple& MaxRegrError, const HTuple& MaxCosts, const HTuple& WeightDist, const HTuple& WeightShift, const HTuple& WeightAngle, const HTuple& WeightLink, const HTuple& WeightRegr, const HTuple& Mode);
  128. // Unite approximately collinear contours.
  129. LIntExport void UnionCollinearContoursXld(const HObject& Contours, HObject* UnionContours, const HTuple& MaxDistAbs, const HTuple& MaxDistRel, const HTuple& MaxShift, const HTuple& MaxAngle, const HTuple& Mode);
  130. // Compute the union of contours whose end points are close together.
  131. LIntExport void UnionAdjacentContoursXld(const HObject& Contours, HObject* UnionContours, const HTuple& MaxDistAbs, const HTuple& MaxDistRel, const HTuple& Mode);
  132. // Select XLD contours according to several features.
  133. LIntExport void SelectContoursXld(const HObject& Contours, HObject* SelectedContours, const HTuple& Feature, const HTuple& Min1, const HTuple& Max1, const HTuple& Min2, const HTuple& Max2);
  134. // Return XLD contour parameters.
  135. LIntExport void GetRegressParamsXld(const HObject& Contours, HTuple* Length, HTuple* Nx, HTuple* Ny, HTuple* Dist, HTuple* Fpx, HTuple* Fpy, HTuple* Lpx, HTuple* Lpy, HTuple* Mean, HTuple* Deviation);
  136. // Calculate the parameters of a regression line to an XLD contour.
  137. LIntExport void RegressContoursXld(const HObject& Contours, HObject* RegressContours, const HTuple& Mode, const HTuple& Iterations);
  138. // Calculate the direction of an XLD contour for each contour point.
  139. LIntExport void GetContourAngleXld(const HObject& Contour, const HTuple& AngleMode, const HTuple& CalcMode, const HTuple& Lookaround, HTuple* Angles);
  140. // Smooth an XLD contour.
  141. LIntExport void SmoothContoursXld(const HObject& Contours, HObject* SmoothedContours, const HTuple& NumRegrPoints);
  142. // Return the number of points in an XLD contour.
  143. LIntExport void ContourPointNumXld(const HObject& Contour, HTuple* Length);
  144. // Return the names of the defined global attributes of an XLD contour.
  145. LIntExport void QueryContourGlobalAttribsXld(const HObject& Contour, HTuple* Attribs);
  146. // Return global attributes values of an XLD contour.
  147. LIntExport void GetContourGlobalAttribXld(const HObject& Contour, const HTuple& Name, HTuple* Attrib);
  148. // Return the names of the defined attributes of an XLD contour.
  149. LIntExport void QueryContourAttribsXld(const HObject& Contour, HTuple* Attribs);
  150. // Return point attribute values of an XLD contour.
  151. LIntExport void GetContourAttribXld(const HObject& Contour, const HTuple& Name, HTuple* Attrib);
  152. // Return the coordinates of an XLD contour.
  153. LIntExport void GetContourXld(const HObject& Contour, HTuple* Row, HTuple* Col);
  154. // Generate XLD contours from regions.
  155. LIntExport void GenContourRegionXld(const HObject& Regions, HObject* Contours, const HTuple& Mode);
  156. // Generate an XLD contour with rounded corners from a polygon (given as tuples).
  157. LIntExport void GenContourPolygonRoundedXld(HObject* Contour, const HTuple& Row, const HTuple& Col, const HTuple& Radius, const HTuple& SamplingInterval);
  158. // Generate an XLD contour from a polygon (given as tuples).
  159. LIntExport void GenContourPolygonXld(HObject* Contour, const HTuple& Row, const HTuple& Col);
  160. // Convert a skeleton into XLD contours.
  161. LIntExport void GenContoursSkeletonXld(const HObject& Skeleton, HObject* Contours, const HTuple& Length, const HTuple& Mode);
  162. // Display an XLD object.
  163. LIntExport void DispXld(const HObject& XLDObject, const HTuple& WindowHandle);
  164. // Image restoration by Wiener filtering.
  165. LIntExport void WienerFilterNi(const HObject& Image, const HObject& Psf, const HObject& NoiseRegion, HObject* RestoredImage, const HTuple& MaskWidth, const HTuple& MaskHeight);
  166. // Image restoration by Wiener filtering.
  167. LIntExport void WienerFilter(const HObject& Image, const HObject& Psf, const HObject& FilteredImage, HObject* RestoredImage);
  168. // Generate an impulse response of a (linearly) motion blurring.
  169. LIntExport void GenPsfMotion(HObject* Psf, const HTuple& PSFwidth, const HTuple& PSFheight, const HTuple& Blurring, const HTuple& Angle, const HTuple& Type);
  170. // Simulation of (linearly) motion blur.
  171. LIntExport void SimulateMotion(const HObject& Image, HObject* MovedImage, const HTuple& Blurring, const HTuple& Angle, const HTuple& Type);
  172. // Generate an impulse response of an uniform out-of-focus blurring.
  173. LIntExport void GenPsfDefocus(HObject* Psf, const HTuple& PSFwidth, const HTuple& PSFheight, const HTuple& Blurring);
  174. // Simulate an uniform out-of-focus blurring of an image.
  175. LIntExport void SimulateDefocus(const HObject& Image, HObject* DefocusedImage, const HTuple& Blurring);
  176. // Deserialize a variation model.
  177. LIntExport void DeserializeVariationModel(const HTuple& SerializedItemHandle, HTuple* ModelID);
  178. // Serialize a variation model.
  179. LIntExport void SerializeVariationModel(const HTuple& ModelID, HTuple* SerializedItemHandle);
  180. // Read a variation model from a file.
  181. LIntExport void ReadVariationModel(const HTuple& FileName, HTuple* ModelID);
  182. // Write a variation model to a file.
  183. LIntExport void WriteVariationModel(const HTuple& ModelID, const HTuple& FileName);
  184. // Return the threshold images used for image comparison by a variation model.
  185. LIntExport void GetThreshImagesVariationModel(HObject* MinImage, HObject* MaxImage, const HTuple& ModelID);
  186. // Return the images used for image comparison by a variation model.
  187. LIntExport void GetVariationModel(HObject* Image, HObject* VarImage, const HTuple& ModelID);
  188. // Compare an image to a variation model.
  189. LIntExport void CompareExtVariationModel(const HObject& Image, HObject* Region, const HTuple& ModelID, const HTuple& Mode);
  190. // Compare an image to a variation model.
  191. LIntExport void CompareVariationModel(const HObject& Image, HObject* Region, const HTuple& ModelID);
  192. // Prepare a variation model for comparison with an image.
  193. LIntExport void PrepareDirectVariationModel(const HObject& RefImage, const HObject& VarImage, const HTuple& ModelID, const HTuple& AbsThreshold, const HTuple& VarThreshold);
  194. // Prepare a variation model for comparison with an image.
  195. LIntExport void PrepareVariationModel(const HTuple& ModelID, const HTuple& AbsThreshold, const HTuple& VarThreshold);
  196. // Train a variation model.
  197. LIntExport void TrainVariationModel(const HObject& Images, const HTuple& ModelID);
  198. // This operator is inoperable. It had the following function: Free the memory of all variation models.
  199. LIntExport void ClearAllVariationModels();
  200. // Free the memory of a variation model.
  201. LIntExport void ClearVariationModel(const HTuple& ModelID);
  202. // Free the memory of the training data of a variation model.
  203. LIntExport void ClearTrainDataVariationModel(const HTuple& ModelID);
  204. // Create a variation model for image comparison.
  205. LIntExport void CreateVariationModel(const HTuple& Width, const HTuple& Height, const HTuple& Type, const HTuple& Mode, HTuple* ModelID);
  206. // Compute the union set of two input tuples.
  207. LIntExport void TupleUnion(const HTuple& Set1, const HTuple& Set2, HTuple* Union);
  208. // Compute the intersection set of two input tuples.
  209. LIntExport void TupleIntersection(const HTuple& Set1, const HTuple& Set2, HTuple* Intersection);
  210. // Compute the difference set of two input tuples.
  211. LIntExport void TupleDifference(const HTuple& Set1, const HTuple& Set2, HTuple* Difference);
  212. // Compute the symmetric difference set of two input tuples.
  213. LIntExport void TupleSymmdiff(const HTuple& Set1, const HTuple& Set2, HTuple* SymmDiff);
  214. // Test whether the types of the elements of a tuple are of type string.
  215. LIntExport void TupleIsStringElem(const HTuple& T, HTuple* IsString);
  216. // Test whether the types of the elements of a tuple are of type real.
  217. LIntExport void TupleIsRealElem(const HTuple& T, HTuple* IsReal);
  218. // Test whether the types of the elements of a tuple are of type integer.
  219. LIntExport void TupleIsIntElem(const HTuple& T, HTuple* IsInt);
  220. // Return the types of the elements of a tuple.
  221. LIntExport void TupleTypeElem(const HTuple& T, HTuple* Types);
  222. // Test whether a tuple is of type mixed.
  223. LIntExport void TupleIsMixed(const HTuple& T, HTuple* IsMixed);
  224. // Test if the internal representation of a tuple is of type string.
  225. LIntExport void TupleIsString(const HTuple& T, HTuple* IsString);
  226. // Test if the internal representation of a tuple is of type real.
  227. LIntExport void TupleIsReal(const HTuple& T, HTuple* IsReal);
  228. // Test if the internal representation of a tuple is of type integer.
  229. LIntExport void TupleIsInt(const HTuple& T, HTuple* IsInt);
  230. // Return the type of a tuple.
  231. LIntExport void TupleType(const HTuple& T, HTuple* Type);
  232. // Calculate the value distribution of a tuple within a certain value range.
  233. LIntExport void TupleHistoRange(const HTuple& Tuple, const HTuple& Min, const HTuple& Max, const HTuple& NumBins, HTuple* Histo, HTuple* BinSize);
  234. // Select tuple elements matching a regular expression.
  235. LIntExport void TupleRegexpSelect(const HTuple& Data, const HTuple& Expression, HTuple* Selection);
  236. // Test if a string matches a regular expression.
  237. LIntExport void TupleRegexpTest(const HTuple& Data, const HTuple& Expression, HTuple* NumMatches);
  238. // Replace a substring using regular expressions.
  239. LIntExport void TupleRegexpReplace(const HTuple& Data, const HTuple& Expression, const HTuple& Replace, HTuple* Result);
  240. // Extract substrings using regular expressions.
  241. LIntExport void TupleRegexpMatch(const HTuple& Data, const HTuple& Expression, HTuple* Matches);
  242. // Return a tuple of random numbers between 0 and 1.
  243. LIntExport void TupleRand(const HTuple& Length, HTuple* Rand);
  244. // Return the number of elements of a tuple.
  245. LIntExport void TupleLength(const HTuple& Tuple, HTuple* Length);
  246. // Calculate the sign of a tuple.
  247. LIntExport void TupleSgn(const HTuple& T, HTuple* Sgn);
  248. // Calculate the elementwise maximum of two tuples.
  249. LIntExport void TupleMax2(const HTuple& T1, const HTuple& T2, HTuple* Max2);
  250. // Calculate the elementwise minimum of two tuples.
  251. LIntExport void TupleMin2(const HTuple& T1, const HTuple& T2, HTuple* Min2);
  252. // Return the maximal element of a tuple.
  253. LIntExport void TupleMax(const HTuple& Tuple, HTuple* Max);
  254. // Return the minimal element of a tuple.
  255. LIntExport void TupleMin(const HTuple& Tuple, HTuple* Min);
  256. // Calculate the cumulative sums of a tuple.
  257. LIntExport void TupleCumul(const HTuple& Tuple, HTuple* Cumul);
  258. // Select the element of rank n of a tuple.
  259. LIntExport void TupleSelectRank(const HTuple& Tuple, const HTuple& RankIndex, HTuple* Selected);
  260. // Return the median of the elements of a tuple.
  261. LIntExport void TupleMedian(const HTuple& Tuple, HTuple* Median);
  262. // Return the sum of all elements of a tuple.
  263. LIntExport void TupleSum(const HTuple& Tuple, HTuple* Sum);
  264. // Return the mean value of a tuple of numbers.
  265. LIntExport void TupleMean(const HTuple& Tuple, HTuple* Mean);
  266. // Return the standard deviation of the elements of a tuple.
  267. LIntExport void TupleDeviation(const HTuple& Tuple, HTuple* Deviation);
  268. // Discard all but one of successive identical elements of a tuple.
  269. LIntExport void TupleUniq(const HTuple& Tuple, HTuple* Uniq);
  270. // Return the index of the last occurrence of a tuple within another tuple.
  271. LIntExport void TupleFindLast(const HTuple& Tuple, const HTuple& ToFind, HTuple* Index);
  272. // Return the index of the first occurrence of a tuple within another tuple.
  273. LIntExport void TupleFindFirst(const HTuple& Tuple, const HTuple& ToFind, HTuple* Index);
  274. // Return the indices of all occurrences of a tuple within another tuple.
  275. LIntExport void TupleFind(const HTuple& Tuple, const HTuple& ToFind, HTuple* Indices);
  276. // Sort the elements of a tuple and return the indices of the sorted tuple.
  277. LIntExport void TupleSortIndex(const HTuple& Tuple, HTuple* Indices);
  278. // Sort the elements of a tuple in ascending order.
  279. LIntExport void TupleSort(const HTuple& Tuple, HTuple* Sorted);
  280. // Invert a tuple.
  281. LIntExport void TupleInverse(const HTuple& Tuple, HTuple* Inverted);
  282. // Concatenate two tuples to a new one.
  283. LIntExport void TupleConcat(const HTuple& T1, const HTuple& T2, HTuple* Concat);
  284. // Select several elements of a tuple.
  285. LIntExport void TupleSelectRange(const HTuple& Tuple, const HTuple& Leftindex, const HTuple& Rightindex, HTuple* Selected);
  286. // Select all elements from index "n" to the end of a tuple.
  287. LIntExport void TupleLastN(const HTuple& Tuple, const HTuple& Index, HTuple* Selected);
  288. // Select the first elements of a tuple up to the index "n".
  289. LIntExport void TupleFirstN(const HTuple& Tuple, const HTuple& Index, HTuple* Selected);
  290. // Inserts one or more elements into a tuple at index.
  291. LIntExport void TupleInsert(const HTuple& Tuple, const HTuple& Index, const HTuple& InsertTuple, HTuple* Extended);
  292. // Replaces one or more elements of a tuple.
  293. LIntExport void TupleReplace(const HTuple& Tuple, const HTuple& Index, const HTuple& ReplaceTuple, HTuple* Replaced);
  294. // Remove elements from a tuple.
  295. LIntExport void TupleRemove(const HTuple& Tuple, const HTuple& Index, HTuple* Reduced);
  296. // Select in mask specified elements of a tuple.
  297. LIntExport void TupleSelectMask(const HTuple& Tuple, const HTuple& Mask, HTuple* Selected);
  298. // Select single elements of a tuple.
  299. LIntExport void TupleSelect(const HTuple& Tuple, const HTuple& Index, HTuple* Selected);
  300. // Select single character or bit from a tuple.
  301. LIntExport void TupleStrBitSelect(const HTuple& Tuple, const HTuple& Index, HTuple* Selected);
  302. // Generate a tuple with a sequence of equidistant values.
  303. LIntExport void TupleGenSequence(const HTuple& Start, const HTuple& End, const HTuple& Step, HTuple* Sequence);
  304. // Generate a tuple of a specific length and initialize its elements.
  305. LIntExport void TupleGenConst(const HTuple& Length, const HTuple& Const, HTuple* Newtuple);
  306. // Read one or more environment variables.
  307. LIntExport void TupleEnvironment(const HTuple& Names, HTuple* Values);
  308. // Split strings into substrings using predefined separator symbol(s).
  309. LIntExport void TupleSplit(const HTuple& String, const HTuple& Separator, HTuple* Substrings);
  310. // Cut characters from position "n1" through "n2" out of a string tuple.
  311. LIntExport void TupleSubstr(const HTuple& String, const HTuple& Position1, const HTuple& Position2, HTuple* Substring);
  312. // Cut all characters starting at position "n" out of a string tuple.
  313. LIntExport void TupleStrLastN(const HTuple& String, const HTuple& Position, HTuple* Substring);
  314. // Cut the first characters up to position "n" out of a string tuple.
  315. LIntExport void TupleStrFirstN(const HTuple& String, const HTuple& Position, HTuple* Substring);
  316. // Backward search for characters within a string tuple.
  317. LIntExport void TupleStrrchr(const HTuple& String, const HTuple& ToFind, HTuple* Position);
  318. // Forward search for characters within a string tuple.
  319. LIntExport void TupleStrchr(const HTuple& String, const HTuple& ToFind, HTuple* Position);
  320. // Backward search for strings within a string tuple.
  321. LIntExport void TupleStrrstr(const HTuple& String, const HTuple& ToFind, HTuple* Position);
  322. // Forward search for strings within a string tuple.
  323. LIntExport void TupleStrstr(const HTuple& String, const HTuple& ToFind, HTuple* Position);
  324. // Determine the length of every string within a tuple of strings.
  325. LIntExport void TupleStrlen(const HTuple& T1, HTuple* Length);
  326. // Test, whether a tuple is elementwise less or equal to another tuple.
  327. LIntExport void TupleLessEqualElem(const HTuple& T1, const HTuple& T2, HTuple* Lesseq);
  328. // Test, whether a tuple is elementwise less than another tuple.
  329. LIntExport void TupleLessElem(const HTuple& T1, const HTuple& T2, HTuple* Less);
  330. // Test, whether a tuple is elementwise greater or equal to another tuple.
  331. LIntExport void TupleGreaterEqualElem(const HTuple& T1, const HTuple& T2, HTuple* Greatereq);
  332. // Test, whether a tuple is elementwise greater than another tuple.
  333. LIntExport void TupleGreaterElem(const HTuple& T1, const HTuple& T2, HTuple* Greater);
  334. // Test, whether two tuples are elementwise not equal.
  335. LIntExport void TupleNotEqualElem(const HTuple& T1, const HTuple& T2, HTuple* Nequal);
  336. // Test, whether two tuples are elementwise equal.
  337. LIntExport void TupleEqualElem(const HTuple& T1, const HTuple& T2, HTuple* Equal);
  338. // Test whether a tuple is less or equal to another tuple.
  339. LIntExport void TupleLessEqual(const HTuple& T1, const HTuple& T2, HTuple* Lesseq);
  340. // Test whether a tuple is less than another tuple.
  341. LIntExport void TupleLess(const HTuple& T1, const HTuple& T2, HTuple* Less);
  342. // Test whether a tuple is greater or equal to another tuple.
  343. LIntExport void TupleGreaterEqual(const HTuple& T1, const HTuple& T2, HTuple* Greatereq);
  344. // Test whether a tuple is greater than another tuple.
  345. LIntExport void TupleGreater(const HTuple& T1, const HTuple& T2, HTuple* Greater);
  346. // Test whether two tuples are not equal.
  347. LIntExport void TupleNotEqual(const HTuple& T1, const HTuple& T2, HTuple* Nequal);
  348. // Test whether two tuples are equal.
  349. LIntExport void TupleEqual(const HTuple& T1, const HTuple& T2, HTuple* Equal);
  350. // Compute the logical not of a tuple.
  351. LIntExport void TupleNot(const HTuple& T, HTuple* Not);
  352. // Compute the logical exclusive or of two tuples.
  353. LIntExport void TupleXor(const HTuple& T1, const HTuple& T2, HTuple* Xor);
  354. // Compute the logical or of two tuples.
  355. LIntExport void TupleOr(const HTuple& T1, const HTuple& T2, HTuple* Or);
  356. // Compute the logical and of two tuples.
  357. LIntExport void TupleAnd(const HTuple& T1, const HTuple& T2, HTuple* And);
  358. // Compute the bitwise not of a tuple.
  359. LIntExport void TupleBnot(const HTuple& T, HTuple* BNot);
  360. // Compute the bitwise exclusive or of two tuples.
  361. LIntExport void TupleBxor(const HTuple& T1, const HTuple& T2, HTuple* BXor);
  362. // Compute the bitwise or of two tuples.
  363. LIntExport void TupleBor(const HTuple& T1, const HTuple& T2, HTuple* BOr);
  364. // Compute the bitwise and of two tuples.
  365. LIntExport void TupleBand(const HTuple& T1, const HTuple& T2, HTuple* BAnd);
  366. // Shift a tuple bitwise to the right.
  367. LIntExport void TupleRsh(const HTuple& T, const HTuple& Shift, HTuple* Rsh);
  368. // Shift a tuple bitwise to the left.
  369. LIntExport void TupleLsh(const HTuple& T, const HTuple& Shift, HTuple* Lsh);
  370. // Convert a tuple of integer numbers into strings.
  371. LIntExport void TupleChrt(const HTuple& T, HTuple* Chrt);
  372. // Convert a tuple of strings into a tuple of integer numbers.
  373. LIntExport void TupleOrds(const HTuple& T, HTuple* Ords);
  374. // Convert a tuple of integer numbers into strings.
  375. LIntExport void TupleChr(const HTuple& T, HTuple* Chr);
  376. // Convert a tuple of strings of length 1 into a tuple of integer numbers.
  377. LIntExport void TupleOrd(const HTuple& T, HTuple* Ord);
  378. // Convert a tuple into a tuple of strings.
  379. LIntExport void TupleString(const HTuple& T, const HTuple& Format, HTuple* String);
  380. // Check a tuple (of strings) whether it represents numbers.
  381. LIntExport void TupleIsNumber(const HTuple& T, HTuple* IsNumber);
  382. // Convert a tuple (of strings) into a tuple of numbers.
  383. LIntExport void TupleNumber(const HTuple& T, HTuple* Number);
  384. // Convert a tuple into a tuple of integer numbers.
  385. LIntExport void TupleRound(const HTuple& T, HTuple* Round);
  386. // Convert a tuple into a tuple of integer numbers.
  387. LIntExport void TupleInt(const HTuple& T, HTuple* Int);
  388. // Convert a tuple into a tuple of floating point numbers.
  389. LIntExport void TupleReal(const HTuple& T, HTuple* Real);
  390. // Calculate the ldexp function of two tuples.
  391. LIntExport void TupleLdexp(const HTuple& T1, const HTuple& T2, HTuple* Ldexp);
  392. // Calculate the remainder of the floating point division of two tuples.
  393. LIntExport void TupleFmod(const HTuple& T1, const HTuple& T2, HTuple* Fmod);
  394. // Calculate the remainder of the integer division of two tuples.
  395. LIntExport void TupleMod(const HTuple& T1, const HTuple& T2, HTuple* Mod);
  396. // Compute the ceiling function of a tuple.
  397. LIntExport void TupleCeil(const HTuple& T, HTuple* Ceil);
  398. // Compute the floor function of a tuple.
  399. LIntExport void TupleFloor(const HTuple& T, HTuple* Floor);
  400. // Calculate the power function of two tuples.
  401. LIntExport void TuplePow(const HTuple& T1, const HTuple& T2, HTuple* Pow);
  402. // Compute the base 10 logarithm of a tuple.
  403. LIntExport void TupleLog10(const HTuple& T, HTuple* Log);
  404. // Compute the natural logarithm of a tuple.
  405. LIntExport void TupleLog(const HTuple& T, HTuple* Log);
  406. // Compute the exponential of a tuple.
  407. LIntExport void TupleExp(const HTuple& T, HTuple* Exp);
  408. // Compute the hyperbolic tangent of a tuple.
  409. LIntExport void TupleTanh(const HTuple& T, HTuple* Tanh);
  410. // Compute the hyperbolic cosine of a tuple.
  411. LIntExport void TupleCosh(const HTuple& T, HTuple* Cosh);
  412. // Compute the hyperbolic sine of a tuple.
  413. LIntExport void TupleSinh(const HTuple& T, HTuple* Sinh);
  414. // Convert a tuple from degrees to radians.
  415. LIntExport void TupleRad(const HTuple& Deg, HTuple* Rad);
  416. // Convert a tuple from radians to degrees.
  417. LIntExport void TupleDeg(const HTuple& Rad, HTuple* Deg);
  418. // Compute the arctangent of a tuple for all four quadrants.
  419. LIntExport void TupleAtan2(const HTuple& Y, const HTuple& X, HTuple* ATan);
  420. // Compute the arctangent of a tuple.
  421. LIntExport void TupleAtan(const HTuple& T, HTuple* ATan);
  422. // Compute the arccosine of a tuple.
  423. LIntExport void TupleAcos(const HTuple& T, HTuple* ACos);
  424. // Compute the arcsine of a tuple.
  425. LIntExport void TupleAsin(const HTuple& T, HTuple* ASin);
  426. // Compute the tangent of a tuple.
  427. LIntExport void TupleTan(const HTuple& T, HTuple* Tan);
  428. // Compute the cosine of a tuple.
  429. LIntExport void TupleCos(const HTuple& T, HTuple* Cos);
  430. // Compute the sine of a tuple.
  431. LIntExport void TupleSin(const HTuple& T, HTuple* Sin);
  432. // Compute the absolute value of a tuple (as floating point numbers).
  433. LIntExport void TupleFabs(const HTuple& T, HTuple* Abs);
  434. // Compute the square root of a tuple.
  435. LIntExport void TupleSqrt(const HTuple& T, HTuple* Sqrt);
  436. // Compute the absolute value of a tuple.
  437. LIntExport void TupleAbs(const HTuple& T, HTuple* Abs);
  438. // Negate a tuple.
  439. LIntExport void TupleNeg(const HTuple& T, HTuple* Neg);
  440. // Divide two tuples.
  441. LIntExport void TupleDiv(const HTuple& Q1, const HTuple& Q2, HTuple* Quot);
  442. // Multiply two tuples.
  443. LIntExport void TupleMult(const HTuple& P1, const HTuple& P2, HTuple* Prod);
  444. // Subtract two tuples.
  445. LIntExport void TupleSub(const HTuple& D1, const HTuple& D2, HTuple* Diff);
  446. // Add two tuples.
  447. LIntExport void TupleAdd(const HTuple& S1, const HTuple& S2, HTuple* Sum);
  448. // Deserialize a serialized tuple.
  449. LIntExport void DeserializeTuple(const HTuple& SerializedItemHandle, HTuple* Tuple);
  450. // Serialize a tuple.
  451. LIntExport void SerializeTuple(const HTuple& Tuple, HTuple* SerializedItemHandle);
  452. // Write a tuple to a file.
  453. LIntExport void WriteTuple(const HTuple& Tuple, const HTuple& FileName);
  454. // Read a tuple from a file.
  455. LIntExport void ReadTuple(const HTuple& FileName, HTuple* Tuple);
  456. // Compute the average of a set of poses.
  457. LIntExport void PoseAverage(const HTuple& Poses, const HTuple& Weights, const HTuple& Mode, const HTuple& SigmaT, const HTuple& SigmaR, HTuple* AveragePose, HTuple* Quality);
  458. // Perform a rotation by a unit quaternion.
  459. LIntExport void QuatRotatePoint3d(const HTuple& Quaternion, const HTuple& Px, const HTuple& Py, const HTuple& Pz, HTuple* Qx, HTuple* Qy, HTuple* Qz);
  460. // Generate the conjugation of a quaternion.
  461. LIntExport void QuatConjugate(const HTuple& Quaternion, HTuple* ConjugatedQuaternion);
  462. // Normalize a quaternion.
  463. LIntExport void QuatNormalize(const HTuple& Quaternion, HTuple* NormalizedQuaternion);
  464. // Create a rotation quaternion.
  465. LIntExport void AxisAngleToQuat(const HTuple& AxisX, const HTuple& AxisY, const HTuple& AxisZ, const HTuple& Angle, HTuple* Quaternion);
  466. // Convert a quaternion into the corresponding 3D pose.
  467. LIntExport void QuatToPose(const HTuple& Quaternion, HTuple* Pose);
  468. // Invert each pose in a tuple of 3D poses.
  469. LIntExport void PoseInvert(const HTuple& Pose, HTuple* PoseInvert);
  470. // Combine 3D poses given in two tuples.
  471. LIntExport void PoseCompose(const HTuple& PoseLeft, const HTuple& PoseRight, HTuple* PoseCompose);
  472. // Convert a quaternion into the corresponding rotation matrix.
  473. LIntExport void QuatToHomMat3d(const HTuple& Quaternion, HTuple* RotationMatrix);
  474. // Convert the rotational part of a 3D pose to a quaternion.
  475. LIntExport void PoseToQuat(const HTuple& Pose, HTuple* Quaternion);
  476. // Interpolation of two quaternions.
  477. LIntExport void QuatInterpolate(const HTuple& QuaternionStart, const HTuple& QuaternionEnd, const HTuple& InterpPos, HTuple* QuaternionInterpolated);
  478. // Multiply two quaternions.
  479. LIntExport void QuatCompose(const HTuple& QuaternionLeft, const HTuple& QuaternionRight, HTuple* QuaternionComposed);
  480. // Deserialize a serialized homogeneous 3D transformation matrix.
  481. LIntExport void DeserializeHomMat3d(const HTuple& SerializedItemHandle, HTuple* HomMat3D);
  482. // Serialize a homogeneous 3D transformation matrix.
  483. LIntExport void SerializeHomMat3d(const HTuple& HomMat3D, HTuple* SerializedItemHandle);
  484. // Deserialize a serialized homogeneous 2D transformation matrix.
  485. LIntExport void DeserializeHomMat2d(const HTuple& SerializedItemHandle, HTuple* HomMat2D);
  486. // Serialize a homogeneous 2D transformation matrix.
  487. LIntExport void SerializeHomMat2d(const HTuple& HomMat2D, HTuple* SerializedItemHandle);
  488. // Deserialize a serialized quaternion.
  489. LIntExport void DeserializeQuat(const HTuple& SerializedItemHandle, HTuple* Quaternion);
  490. // Serialize a quaternion.
  491. LIntExport void SerializeQuat(const HTuple& Quaternion, HTuple* SerializedItemHandle);
  492. // Project a homogeneous 3D point using a projective transformation matrix.
  493. LIntExport void ProjectiveTransHomPoint3d(const HTuple& HomMat3D, const HTuple& Px, const HTuple& Py, const HTuple& Pz, const HTuple& Pw, HTuple* Qx, HTuple* Qy, HTuple* Qz, HTuple* Qw);
  494. // Project a 3D point using a projective transformation matrix.
  495. LIntExport void ProjectiveTransPoint3d(const HTuple& HomMat3D, const HTuple& Px, const HTuple& Py, const HTuple& Pz, HTuple* Qx, HTuple* Qy, HTuple* Qz);
  496. // Apply an arbitrary affine 3D transformation to points.
  497. LIntExport void AffineTransPoint3d(const HTuple& HomMat3D, const HTuple& Px, const HTuple& Py, const HTuple& Pz, HTuple* Qx, HTuple* Qy, HTuple* Qz);
  498. // Approximate a 3D transformation from point correspondences.
  499. LIntExport void VectorToHomMat3d(const HTuple& TransformationType, const HTuple& Px, const HTuple& Py, const HTuple& Pz, const HTuple& Qx, const HTuple& Qy, const HTuple& Qz, HTuple* HomMat3D);
  500. // Compute the determinant of a homogeneous 3D transformation matrix.
  501. LIntExport void HomMat3dDeterminant(const HTuple& HomMat3D, HTuple* Determinant);
  502. // Transpose a homogeneous 3D transformation matrix.
  503. LIntExport void HomMat3dTranspose(const HTuple& HomMat3D, HTuple* HomMat3DTranspose);
  504. // Invert a homogeneous 3D transformation matrix.
  505. LIntExport void HomMat3dInvert(const HTuple& HomMat3D, HTuple* HomMat3DInvert);
  506. // Multiply two homogeneous 3D transformation matrices.
  507. LIntExport void HomMat3dCompose(const HTuple& HomMat3DLeft, const HTuple& HomMat3DRight, HTuple* HomMat3DCompose);
  508. // Add a rotation to a homogeneous 3D transformation matrix.
  509. LIntExport void HomMat3dRotateLocal(const HTuple& HomMat3D, const HTuple& Phi, const HTuple& Axis, HTuple* HomMat3DRotate);
  510. // Add a rotation to a homogeneous 3D transformation matrix.
  511. LIntExport void HomMat3dRotate(const HTuple& HomMat3D, const HTuple& Phi, const HTuple& Axis, const HTuple& Px, const HTuple& Py, const HTuple& Pz, HTuple* HomMat3DRotate);
  512. // Add a scaling to a homogeneous 3D transformation matrix.
  513. LIntExport void HomMat3dScaleLocal(const HTuple& HomMat3D, const HTuple& Sx, const HTuple& Sy, const HTuple& Sz, HTuple* HomMat3DScale);
  514. // Add a scaling to a homogeneous 3D transformation matrix.
  515. LIntExport void HomMat3dScale(const HTuple& HomMat3D, const HTuple& Sx, const HTuple& Sy, const HTuple& Sz, const HTuple& Px, const HTuple& Py, const HTuple& Pz, HTuple* HomMat3DScale);
  516. // Add a translation to a homogeneous 3D transformation matrix.
  517. LIntExport void HomMat3dTranslateLocal(const HTuple& HomMat3D, const HTuple& Tx, const HTuple& Ty, const HTuple& Tz, HTuple* HomMat3DTranslate);
  518. // Add a translation to a homogeneous 3D transformation matrix.
  519. LIntExport void HomMat3dTranslate(const HTuple& HomMat3D, const HTuple& Tx, const HTuple& Ty, const HTuple& Tz, HTuple* HomMat3DTranslate);
  520. // Generate the homogeneous transformation matrix of the identical 3D transformation.
  521. LIntExport void HomMat3dIdentity(HTuple* HomMat3DIdentity);
  522. // Project an affine 3D transformation matrix to a 2D projective transformation matrix.
  523. LIntExport void HomMat3dProject(const HTuple& HomMat3D, const HTuple& PrincipalPointRow, const HTuple& PrincipalPointCol, const HTuple& Focus, HTuple* HomMat2D);
  524. // Perform a bundle adjustment of an image mosaic.
  525. LIntExport void BundleAdjustMosaic(const HTuple& NumImages, const HTuple& ReferenceImage, const HTuple& MappingSource, const HTuple& MappingDest, const HTuple& HomMatrices2D, const HTuple& Rows1, const HTuple& Cols1, const HTuple& Rows2, const HTuple& Cols2, const HTuple& NumCorrespondences, const HTuple& Transformation, HTuple* MosaicMatrices2D, HTuple* Rows, HTuple* Cols, HTuple* Error);
  526. // Compute a projective transformation matrix and the radial distortion coefficient between two images by finding correspondences between points based on known approximations of the projective transformation matrix and the radial distortion coefficient.
  527. LIntExport void ProjMatchPointsDistortionRansacGuided(const HObject& Image1, const HObject& Image2, const HTuple& Rows1, const HTuple& Cols1, const HTuple& Rows2, const HTuple& Cols2, const HTuple& GrayMatchMethod, const HTuple& MaskSize, const HTuple& HomMat2DGuide, const HTuple& KappaGuide, const HTuple& DistanceTolerance, const HTuple& MatchThreshold, const HTuple& EstimationMethod, const HTuple& DistanceThreshold, const HTuple& RandSeed, HTuple* HomMat2D, HTuple* Kappa, HTuple* Error, HTuple* Points1, HTuple* Points2);
  528. // Compute a projective transformation matrix between two images and the radial distortion coefficient by automatically finding correspondences between points.
  529. LIntExport void ProjMatchPointsDistortionRansac(const HObject& Image1, const HObject& Image2, const HTuple& Rows1, const HTuple& Cols1, const HTuple& Rows2, const HTuple& Cols2, const HTuple& GrayMatchMethod, const HTuple& MaskSize, const HTuple& RowMove, const HTuple& ColMove, const HTuple& RowTolerance, const HTuple& ColTolerance, const HTuple& Rotation, const HTuple& MatchThreshold, const HTuple& EstimationMethod, const HTuple& DistanceThreshold, const HTuple& RandSeed, HTuple* HomMat2D, HTuple* Kappa, HTuple* Error, HTuple* Points1, HTuple* Points2);
  530. // Compute a projective transformation matrix between two images by finding correspondences between points based on a known approximation of the projective transformation matrix.
  531. LIntExport void ProjMatchPointsRansacGuided(const HObject& Image1, const HObject& Image2, const HTuple& Rows1, const HTuple& Cols1, const HTuple& Rows2, const HTuple& Cols2, const HTuple& GrayMatchMethod, const HTuple& MaskSize, const HTuple& HomMat2DGuide, const HTuple& DistanceTolerance, const HTuple& MatchThreshold, const HTuple& EstimationMethod, const HTuple& DistanceThreshold, const HTuple& RandSeed, HTuple* HomMat2D, HTuple* Points1, HTuple* Points2);
  532. // Compute a projective transformation matrix between two images by finding correspondences between points.
  533. LIntExport void ProjMatchPointsRansac(const HObject& Image1, const HObject& Image2, const HTuple& Rows1, const HTuple& Cols1, const HTuple& Rows2, const HTuple& Cols2, const HTuple& GrayMatchMethod, const HTuple& MaskSize, const HTuple& RowMove, const HTuple& ColMove, const HTuple& RowTolerance, const HTuple& ColTolerance, const HTuple& Rotation, const HTuple& MatchThreshold, const HTuple& EstimationMethod, const HTuple& DistanceThreshold, const HTuple& RandSeed, HTuple* HomMat2D, HTuple* Points1, HTuple* Points2);
  534. // Compute a projective transformation matrix and the radial distortion coefficient using given image point correspondences.
  535. LIntExport void VectorToProjHomMat2dDistortion(const HTuple& Points1Row, const HTuple& Points1Col, const HTuple& Points2Row, const HTuple& Points2Col, const HTuple& CovRR1, const HTuple& CovRC1, const HTuple& CovCC1, const HTuple& CovRR2, const HTuple& CovRC2, const HTuple& CovCC2, const HTuple& ImageWidth, const HTuple& ImageHeight, const HTuple& Method, HTuple* HomMat2D, HTuple* Kappa, HTuple* Error);
  536. // Compute a homogeneous transformation matrix using given point correspondences.
  537. LIntExport void HomVectorToProjHomMat2d(const HTuple& Px, const HTuple& Py, const HTuple& Pw, const HTuple& Qx, const HTuple& Qy, const HTuple& Qw, const HTuple& Method, HTuple* HomMat2D);
  538. // Compute a projective transformation matrix using given point correspondences.
  539. LIntExport void VectorToProjHomMat2d(const HTuple& Px, const HTuple& Py, const HTuple& Qx, const HTuple& Qy, const HTuple& Method, const HTuple& CovXX1, const HTuple& CovYY1, const HTuple& CovXY1, const HTuple& CovXX2, const HTuple& CovYY2, const HTuple& CovXY2, HTuple* HomMat2D, HTuple* Covariance);
  540. // Compute the affine transformation parameters from a homogeneous 2D transformation matrix.
  541. LIntExport void HomMat2dToAffinePar(const HTuple& HomMat2D, HTuple* Sx, HTuple* Sy, HTuple* Phi, HTuple* Theta, HTuple* Tx, HTuple* Ty);
  542. // Compute a rigid affine transformation from points and angles.
  543. LIntExport void VectorAngleToRigid(const HTuple& Row1, const HTuple& Column1, const HTuple& Angle1, const HTuple& Row2, const HTuple& Column2, const HTuple& Angle2, HTuple* HomMat2D);
  544. // Approximate an affine transformation from point-to-line correspondences.
  545. LIntExport void PointLineToHomMat2d(const HTuple& TransformationType, const HTuple& Px, const HTuple& Py, const HTuple& L1x, const HTuple& L1y, const HTuple& L2x, const HTuple& L2y, HTuple* HomMat2D);
  546. // Approximate a rigid affine transformation from point correspondences.
  547. LIntExport void VectorToRigid(const HTuple& Px, const HTuple& Py, const HTuple& Qx, const HTuple& Qy, HTuple* HomMat2D);
  548. // Approximate an similarity transformation from point correspondences.
  549. LIntExport void VectorToSimilarity(const HTuple& Px, const HTuple& Py, const HTuple& Qx, const HTuple& Qy, HTuple* HomMat2D);
  550. // Approximate an anisotropic similarity transformation from point correspondences.
  551. LIntExport void VectorToAniso(const HTuple& Px, const HTuple& Py, const HTuple& Qx, const HTuple& Qy, HTuple* HomMat2D);
  552. // Approximate an affine transformation from point correspondences.
  553. LIntExport void VectorToHomMat2d(const HTuple& Px, const HTuple& Py, const HTuple& Qx, const HTuple& Qy, HTuple* HomMat2D);
  554. // Project pixel coordinates using a homogeneous projective transformation matrix.
  555. LIntExport void ProjectiveTransPixel(const HTuple& HomMat2D, const HTuple& Row, const HTuple& Col, HTuple* RowTrans, HTuple* ColTrans);
  556. // Project a homogeneous 2D point using a projective transformation matrix.
  557. LIntExport void ProjectiveTransPoint2d(const HTuple& HomMat2D, const HTuple& Px, const HTuple& Py, const HTuple& Pw, HTuple* Qx, HTuple* Qy, HTuple* Qw);
  558. // Apply an arbitrary affine 2D transformation to pixel coordinates.
  559. LIntExport void AffineTransPixel(const HTuple& HomMat2D, const HTuple& Row, const HTuple& Col, HTuple* RowTrans, HTuple* ColTrans);
  560. // Apply an arbitrary affine 2D transformation to points.
  561. LIntExport void AffineTransPoint2d(const HTuple& HomMat2D, const HTuple& Px, const HTuple& Py, HTuple* Qx, HTuple* Qy);
  562. // Compute the determinant of a homogeneous 2D transformation matrix.
  563. LIntExport void HomMat2dDeterminant(const HTuple& HomMat2D, HTuple* Determinant);
  564. // Transpose a homogeneous 2D transformation matrix.
  565. LIntExport void HomMat2dTranspose(const HTuple& HomMat2D, HTuple* HomMat2DTranspose);
  566. // Invert a homogeneous 2D transformation matrix.
  567. LIntExport void HomMat2dInvert(const HTuple& HomMat2D, HTuple* HomMat2DInvert);
  568. // Multiply two homogeneous 2D transformation matrices.
  569. LIntExport void HomMat2dCompose(const HTuple& HomMat2DLeft, const HTuple& HomMat2DRight, HTuple* HomMat2DCompose);
  570. // Add a reflection to a homogeneous 2D transformation matrix.
  571. LIntExport void HomMat2dReflectLocal(const HTuple& HomMat2D, const HTuple& Px, const HTuple& Py, HTuple* HomMat2DReflect);
  572. // Add a reflection to a homogeneous 2D transformation matrix.
  573. LIntExport void HomMat2dReflect(const HTuple& HomMat2D, const HTuple& Px, const HTuple& Py, const HTuple& Qx, const HTuple& Qy, HTuple* HomMat2DReflect);
  574. // Add a slant to a homogeneous 2D transformation matrix.
  575. LIntExport void HomMat2dSlantLocal(const HTuple& HomMat2D, const HTuple& Theta, const HTuple& Axis, HTuple* HomMat2DSlant);
  576. // Add a slant to a homogeneous 2D transformation matrix.
  577. LIntExport void HomMat2dSlant(const HTuple& HomMat2D, const HTuple& Theta, const HTuple& Axis, const HTuple& Px, const HTuple& Py, HTuple* HomMat2DSlant);
  578. // Add a rotation to a homogeneous 2D transformation matrix.
  579. LIntExport void HomMat2dRotateLocal(const HTuple& HomMat2D, const HTuple& Phi, HTuple* HomMat2DRotate);
  580. // Add a rotation to a homogeneous 2D transformation matrix.
  581. LIntExport void HomMat2dRotate(const HTuple& HomMat2D, const HTuple& Phi, const HTuple& Px, const HTuple& Py, HTuple* HomMat2DRotate);
  582. // Add a scaling to a homogeneous 2D transformation matrix.
  583. LIntExport void HomMat2dScaleLocal(const HTuple& HomMat2D, const HTuple& Sx, const HTuple& Sy, HTuple* HomMat2DScale);
  584. // Add a scaling to a homogeneous 2D transformation matrix.
  585. LIntExport void HomMat2dScale(const HTuple& HomMat2D, const HTuple& Sx, const HTuple& Sy, const HTuple& Px, const HTuple& Py, HTuple* HomMat2DScale);
  586. // Add a translation to a homogeneous 2D transformation matrix.
  587. LIntExport void HomMat2dTranslateLocal(const HTuple& HomMat2D, const HTuple& Tx, const HTuple& Ty, HTuple* HomMat2DTranslate);
  588. // Add a translation to a homogeneous 2D transformation matrix.
  589. LIntExport void HomMat2dTranslate(const HTuple& HomMat2D, const HTuple& Tx, const HTuple& Ty, HTuple* HomMat2DTranslate);
  590. // Generate the homogeneous transformation matrix of the identical 2D transformation.
  591. LIntExport void HomMat2dIdentity(HTuple* HomMat2DIdentity);
  592. // This operator is inoperable. It had the following function: Clear all scattered data interpolators.
  593. LIntExport void ClearAllScatteredDataInterpolators();
  594. // Clear a scattered data interpolator.
  595. LIntExport void ClearScatteredDataInterpolator(const HTuple& ScatteredDataInterpolatorHandle);
  596. // Interpolation of scattered data using a scattered data interpolator.
  597. LIntExport void InterpolateScatteredData(const HTuple& ScatteredDataInterpolatorHandle, const HTuple& Row, const HTuple& Column, HTuple* ValueInterpolated);
  598. // Creates an interpolator for the interpolation of scattered data.
  599. LIntExport void CreateScatteredDataInterpolator(const HTuple& Method, const HTuple& Rows, const HTuple& Columns, const HTuple& Values, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* ScatteredDataInterpolatorHandle);
  600. // Creating an image from the interpolation of scattered data.
  601. LIntExport void InterpolateScatteredDataPointsToImage(HObject* ImageInterpolated, const HTuple& Method, const HTuple& Rows, const HTuple& Columns, const HTuple& Values, const HTuple& Width, const HTuple& Height, const HTuple& GenParamName, const HTuple& GenParamValue);
  602. // Interpolation of an image.
  603. LIntExport void InterpolateScatteredDataImage(const HObject& Image, const HObject& RegionInterpolate, HObject* ImageInterpolated, const HTuple& Method, const HTuple& GenParamName, const HTuple& GenParamValue);
  604. // Read out the system time.
  605. LIntExport void GetSystemTime(HTuple* MSecond, HTuple* Second, HTuple* Minute, HTuple* Hour, HTuple* Day, HTuple* YDay, HTuple* Month, HTuple* Year);
  606. // Query compute device parameters.
  607. LIntExport void GetComputeDeviceParam(const HTuple& DeviceHandle, const HTuple& GenParamName, HTuple* GenParamValue);
  608. // Set parameters of an compute device.
  609. LIntExport void SetComputeDeviceParam(const HTuple& DeviceHandle, const HTuple& GenParamName, const HTuple& GenParamValue);
  610. // Close all compute devices.
  611. LIntExport void ReleaseAllComputeDevices();
  612. // Close a compute_device.
  613. LIntExport void ReleaseComputeDevice(const HTuple& DeviceHandle);
  614. // Deactivate all compute devices.
  615. LIntExport void DeactivateAllComputeDevices();
  616. // Deactivate a compute device.
  617. LIntExport void DeactivateComputeDevice(const HTuple& DeviceHandle);
  618. // Activate a compute device.
  619. LIntExport void ActivateComputeDevice(const HTuple& DeviceHandle);
  620. // Initialize a compute device.
  621. LIntExport void InitComputeDevice(const HTuple& DeviceHandle, const HTuple& Operators);
  622. // Open a compute device.
  623. LIntExport void OpenComputeDevice(const HTuple& DeviceIdentifier, HTuple* DeviceHandle);
  624. // Get information on a compute device.
  625. LIntExport void GetComputeDeviceInfo(const HTuple& DeviceIdentifier, const HTuple& InfoName, HTuple* Info);
  626. // Get the list of available compute devices.
  627. LIntExport void QueryAvailableComputeDevices(HTuple* DeviceIdentifier);
  628. // Clear the buffer of a serial connection.
  629. LIntExport void ClearSerial(const HTuple& SerialHandle, const HTuple& Channel);
  630. // Write to a serial connection.
  631. LIntExport void WriteSerial(const HTuple& SerialHandle, const HTuple& Data);
  632. // Read from a serial device.
  633. LIntExport void ReadSerial(const HTuple& SerialHandle, const HTuple& NumCharacters, HTuple* Data);
  634. // Get the parameters of a serial device.
  635. LIntExport void GetSerialParam(const HTuple& SerialHandle, HTuple* BaudRate, HTuple* DataBits, HTuple* FlowControl, HTuple* Parity, HTuple* StopBits, HTuple* TotalTimeOut, HTuple* InterCharTimeOut);
  636. // Set the parameters of a serial device.
  637. LIntExport void SetSerialParam(const HTuple& SerialHandle, const HTuple& BaudRate, const HTuple& DataBits, const HTuple& FlowControl, const HTuple& Parity, const HTuple& StopBits, const HTuple& TotalTimeOut, const HTuple& InterCharTimeOut);
  638. // This operator is inoperable. It had the following function: Close all serial devices.
  639. LIntExport void CloseAllSerials();
  640. // Close a serial device.
  641. LIntExport void CloseSerial(const HTuple& SerialHandle);
  642. // Open a serial device.
  643. LIntExport void OpenSerial(const HTuple& PortName, HTuple* SerialHandle);
  644. // Delaying the execution of the program.
  645. LIntExport void WaitSeconds(const HTuple& Seconds);
  646. // Execute a system command.
  647. LIntExport void SystemCall(const HTuple& Command);
  648. // Set HALCON system parameters.
  649. LIntExport void SetSystem(const HTuple& SystemParameter, const HTuple& Value);
  650. // Activating and deactivating of HALCON control modes.
  651. LIntExport void SetCheck(const HTuple& Check);
  652. // Reset the HALCON system for iconic objects.
  653. LIntExport void ResetObjDb(const HTuple& DefaultImageWidth, const HTuple& DefaultImageHeight, const HTuple& DefaultChannels);
  654. // Get current value of HALCON system parameters.
  655. LIntExport void GetSystem(const HTuple& Query, HTuple* Information);
  656. // State of the HALCON control modes.
  657. LIntExport void GetCheck(HTuple* Check);
  658. // Inquiry after the error text of a HALCON error number.
  659. LIntExport void GetErrorText(const HTuple& ErrorCode, HTuple* ErrorMessage);
  660. // Passed Time.
  661. LIntExport void CountSeconds(HTuple* Seconds);
  662. // Number of entries in the HALCON database.
  663. LIntExport void CountRelation(const HTuple& RelationName, HTuple* NumOfTuples);
  664. // Receive an image over a socket connection.
  665. LIntExport void ReceiveImage(HObject* Image, const HTuple& Socket);
  666. // Send an image over a socket connection.
  667. LIntExport void SendImage(const HObject& Image, const HTuple& Socket);
  668. // Receive regions over a socket connection.
  669. LIntExport void ReceiveRegion(HObject* Region, const HTuple& Socket);
  670. // Send regions over a socket connection.
  671. LIntExport void SendRegion(const HObject& Region, const HTuple& Socket);
  672. // Receive an XLD object over a socket connection.
  673. LIntExport void ReceiveXld(HObject* XLD, const HTuple& Socket);
  674. // Send an XLD object over a socket connection.
  675. LIntExport void SendXld(const HObject& XLD, const HTuple& Socket);
  676. // Receive a tuple over a socket connection.
  677. LIntExport void ReceiveTuple(const HTuple& Socket, HTuple* Tuple);
  678. // Send a tuple over a socket connection.
  679. LIntExport void SendTuple(const HTuple& Socket, const HTuple& Tuple);
  680. // Receive arbitrary data from external devices or applications using a generic socket connection.
  681. LIntExport void ReceiveData(const HTuple& Socket, const HTuple& Format, HTuple* Data, HTuple* From);
  682. // Send arbitrary data to external devices or applications using a generic socket communication.
  683. LIntExport void SendData(const HTuple& Socket, const HTuple& Format, const HTuple& Data, const HTuple& To);
  684. // Get the value of a socket parameter.
  685. LIntExport void GetSocketParam(const HTuple& Socket, const HTuple& GenParamName, HTuple* GenParamValue);
  686. // Set a socket parameter.
  687. LIntExport void SetSocketParam(const HTuple& Socket, const HTuple& GenParamName, const HTuple& GenParamValue);
  688. // Determine the HALCON data type of the next socket data.
  689. LIntExport void GetNextSocketDataType(const HTuple& Socket, HTuple* DataType);
  690. // Get the socket descriptor of a socket used by the operating system.
  691. LIntExport void GetSocketDescriptor(const HTuple& Socket, HTuple* SocketDescriptor);
  692. // This operator is inoperable. It had the following function: Close all opened sockets.
  693. LIntExport void CloseAllSockets();
  694. // Close a socket.
  695. LIntExport void CloseSocket(const HTuple& Socket);
  696. // Accept a connection request on a listening socket of the protocol type 'HALCON' or 'TCP'/'TCP4'/'TCP6'.
  697. LIntExport void SocketAcceptConnect(const HTuple& AcceptingSocket, const HTuple& Wait, HTuple* Socket);
  698. // Open a socket and connect it to an accepting socket.
  699. LIntExport void OpenSocketConnect(const HTuple& HostName, const HTuple& Port, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Socket);
  700. // Open a socket that accepts connection requests.
  701. LIntExport void OpenSocketAccept(const HTuple& Port, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* AcceptingSocket);
  702. // Returns the extended error information for the calling thread's last HALCON error.
  703. LIntExport void GetExtendedErrorInfo(HTuple* OperatorName, HTuple* ErrorCode, HTuple* ErrorMessage);
  704. // Query of used modules and the module key.
  705. LIntExport void GetModules(HTuple* UsedModules, HTuple* ModuleKey);
  706. // Compute the distance values for a rectified stereo image pair using multi-scanline optimization.
  707. LIntExport void BinocularDistanceMs(const HObject& ImageRect1, const HObject& ImageRect2, HObject* Distance, HObject* Score, const HTuple& CamParamRect1, const HTuple& CamParamRect2, const HTuple& RelPoseRect, const HTuple& MinDisparity, const HTuple& MaxDisparity, const HTuple& SurfaceSmoothing, const HTuple& EdgeSmoothing, const HTuple& GenParamName, const HTuple& GenParamValue);
  708. // Compute the disparities of a rectified stereo image pair using multi-scanline optimization.
  709. LIntExport void BinocularDisparityMs(const HObject& ImageRect1, const HObject& ImageRect2, HObject* Disparity, HObject* Score, const HTuple& MinDisparity, const HTuple& MaxDisparity, const HTuple& SurfaceSmoothing, const HTuple& EdgeSmoothing, const HTuple& GenParamName, const HTuple& GenParamValue);
  710. // Compute the distance values for a rectified stereo image pair using multigrid methods.
  711. LIntExport void BinocularDistanceMg(const HObject& ImageRect1, const HObject& ImageRect2, HObject* Distance, HObject* Score, const HTuple& CamParamRect1, const HTuple& CamParamRect2, const HTuple& RelPoseRect, const HTuple& GrayConstancy, const HTuple& GradientConstancy, const HTuple& Smoothness, const HTuple& InitialGuess, const HTuple& CalculateScore, const HTuple& MGParamName, const HTuple& MGParamValue);
  712. // Compute the disparities of a rectified stereo image pair using multigrid methods.
  713. LIntExport void BinocularDisparityMg(const HObject& ImageRect1, const HObject& ImageRect2, HObject* Disparity, HObject* Score, const HTuple& GrayConstancy, const HTuple& GradientConstancy, const HTuple& Smoothness, const HTuple& InitialGuess, const HTuple& CalculateScore, const HTuple& MGParamName, const HTuple& MGParamValue);
  714. // Compute the projective 3d reconstruction of points based on the fundamental matrix.
  715. LIntExport void Reconst3dFromFundamentalMatrix(const HTuple& Rows1, const HTuple& Cols1, const HTuple& Rows2, const HTuple& Cols2, const HTuple& CovRR1, const HTuple& CovRC1, const HTuple& CovCC1, const HTuple& CovRR2, const HTuple& CovRC2, const HTuple& CovCC2, const HTuple& FMatrix, const HTuple& CovFMat, HTuple* X, HTuple* Y, HTuple* Z, HTuple* W, HTuple* CovXYZW);
  716. // Compute the projective rectification of weakly calibrated binocular stereo images.
  717. LIntExport void GenBinocularProjRectification(HObject* Map1, HObject* Map2, const HTuple& FMatrix, const HTuple& CovFMat, const HTuple& Width1, const HTuple& Height1, const HTuple& Width2, const HTuple& Height2, const HTuple& SubSampling, const HTuple& Mapping, HTuple* CovFMatRect, HTuple* H1, HTuple* H2);
  718. // Compute the fundamental matrix and the radial distortion coefficient given a set of image point correspondences and reconstruct 3D points.
  719. LIntExport void VectorToFundamentalMatrixDistortion(const HTuple& Rows1, const HTuple& Cols1, const HTuple& Rows2, const HTuple& Cols2, const HTuple& CovRR1, const HTuple& CovRC1, const HTuple& CovCC1, const HTuple& CovRR2, const HTuple& CovRC2, const HTuple& CovCC2, const HTuple& ImageWidth, const HTuple& ImageHeight, const HTuple& Method, HTuple* FMatrix, HTuple* Kappa, HTuple* Error, HTuple* X, HTuple* Y, HTuple* Z, HTuple* W);
  720. // Compute the fundamental matrix from the relative orientation of two cameras.
  721. LIntExport void RelPoseToFundamentalMatrix(const HTuple& RelPose, const HTuple& CovRelPose, const HTuple& CamPar1, const HTuple& CamPar2, HTuple* FMatrix, HTuple* CovFMat);
  722. // Compute the fundamental matrix from an essential matrix.
  723. LIntExport void EssentialToFundamentalMatrix(const HTuple& EMatrix, const HTuple& CovEMat, const HTuple& CamMat1, const HTuple& CamMat2, HTuple* FMatrix, HTuple* CovFMat);
  724. // Compute the relative orientation between two cameras given image point correspondences and known camera parameters and reconstruct 3D space points.
  725. LIntExport void VectorToRelPose(const HTuple& Rows1, const HTuple& Cols1, const HTuple& Rows2, const HTuple& Cols2, const HTuple& CovRR1, const HTuple& CovRC1, const HTuple& CovCC1, const HTuple& CovRR2, const HTuple& CovRC2, const HTuple& CovCC2, const HTuple& CamPar1, const HTuple& CamPar2, const HTuple& Method, HTuple* RelPose, HTuple* CovRelPose, HTuple* Error, HTuple* X, HTuple* Y, HTuple* Z, HTuple* CovXYZ);
  726. // Compute the essential matrix given image point correspondences and known camera matrices and reconstruct 3D points.
  727. LIntExport void VectorToEssentialMatrix(const HTuple& Rows1, const HTuple& Cols1, const HTuple& Rows2, const HTuple& Cols2, const HTuple& CovRR1, const HTuple& CovRC1, const HTuple& CovCC1, const HTuple& CovRR2, const HTuple& CovRC2, const HTuple& CovCC2, const HTuple& CamMat1, const HTuple& CamMat2, const HTuple& Method, HTuple* EMatrix, HTuple* CovEMat, HTuple* Error, HTuple* X, HTuple* Y, HTuple* Z, HTuple* CovXYZ);
  728. // Compute the fundamental matrix given a set of image point correspondences and reconstruct 3D points.
  729. LIntExport void VectorToFundamentalMatrix(const HTuple& Rows1, const HTuple& Cols1, const HTuple& Rows2, const HTuple& Cols2, const HTuple& CovRR1, const HTuple& CovRC1, const HTuple& CovCC1, const HTuple& CovRR2, const HTuple& CovRC2, const HTuple& CovCC2, const HTuple& Method, HTuple* FMatrix, HTuple* CovFMat, HTuple* Error, HTuple* X, HTuple* Y, HTuple* Z, HTuple* W, HTuple* CovXYZW);
  730. // Compute the fundamental matrix and the radial distortion coefficient for a pair of stereo images by automatically finding correspondences between image points.
  731. LIntExport void MatchFundamentalMatrixDistortionRansac(const HObject& Image1, const HObject& Image2, const HTuple& Rows1, const HTuple& Cols1, const HTuple& Rows2, const HTuple& Cols2, const HTuple& GrayMatchMethod, const HTuple& MaskSize, const HTuple& RowMove, const HTuple& ColMove, const HTuple& RowTolerance, const HTuple& ColTolerance, const HTuple& Rotation, const HTuple& MatchThreshold, const HTuple& EstimationMethod, const HTuple& DistanceThreshold, const HTuple& RandSeed, HTuple* FMatrix, HTuple* Kappa, HTuple* Error, HTuple* Points1, HTuple* Points2);
  732. // Compute the relative orientation between two cameras by automatically finding correspondences between image points.
  733. LIntExport void MatchRelPoseRansac(const HObject& Image1, const HObject& Image2, const HTuple& Rows1, const HTuple& Cols1, const HTuple& Rows2, const HTuple& Cols2, const HTuple& CamPar1, const HTuple& CamPar2, const HTuple& GrayMatchMethod, const HTuple& MaskSize, const HTuple& RowMove, const HTuple& ColMove, const HTuple& RowTolerance, const HTuple& ColTolerance, const HTuple& Rotation, const HTuple& MatchThreshold, const HTuple& EstimationMethod, const HTuple& DistanceThreshold, const HTuple& RandSeed, HTuple* RelPose, HTuple* CovRelPose, HTuple* Error, HTuple* Points1, HTuple* Points2);
  734. // Compute the essential matrix for a pair of stereo images by automatically finding correspondences between image points.
  735. LIntExport void MatchEssentialMatrixRansac(const HObject& Image1, const HObject& Image2, const HTuple& Rows1, const HTuple& Cols1, const HTuple& Rows2, const HTuple& Cols2, const HTuple& CamMat1, const HTuple& CamMat2, const HTuple& GrayMatchMethod, const HTuple& MaskSize, const HTuple& RowMove, const HTuple& ColMove, const HTuple& RowTolerance, const HTuple& ColTolerance, const HTuple& Rotation, const HTuple& MatchThreshold, const HTuple& EstimationMethod, const HTuple& DistanceThreshold, const HTuple& RandSeed, HTuple* EMatrix, HTuple* CovEMat, HTuple* Error, HTuple* Points1, HTuple* Points2);
  736. // Compute the fundamental matrix for a pair of stereo images by automatically finding correspondences between image points.
  737. LIntExport void MatchFundamentalMatrixRansac(const HObject& Image1, const HObject& Image2, const HTuple& Rows1, const HTuple& Cols1, const HTuple& Rows2, const HTuple& Cols2, const HTuple& GrayMatchMethod, const HTuple& MaskSize, const HTuple& RowMove, const HTuple& ColMove, const HTuple& RowTolerance, const HTuple& ColTolerance, const HTuple& Rotation, const HTuple& MatchThreshold, const HTuple& EstimationMethod, const HTuple& DistanceThreshold, const HTuple& RandSeed, HTuple* FMatrix, HTuple* CovFMat, HTuple* Error, HTuple* Points1, HTuple* Points2);
  738. // Compute the distance values for a rectified stereo image pair using correlation techniques.
  739. LIntExport void BinocularDistance(const HObject& ImageRect1, const HObject& ImageRect2, HObject* Distance, HObject* Score, const HTuple& CamParamRect1, const HTuple& CamParamRect2, const HTuple& RelPoseRect, const HTuple& Method, const HTuple& MaskWidth, const HTuple& MaskHeight, const HTuple& TextureThresh, const HTuple& MinDisparity, const HTuple& MaxDisparity, const HTuple& NumLevels, const HTuple& ScoreThresh, const HTuple& Filter, const HTuple& SubDistance);
  740. // Compute the disparities of a rectified image pair using correlation techniques.
  741. LIntExport void BinocularDisparity(const HObject& ImageRect1, const HObject& ImageRect2, HObject* Disparity, HObject* Score, const HTuple& Method, const HTuple& MaskWidth, const HTuple& MaskHeight, const HTuple& TextureThresh, const HTuple& MinDisparity, const HTuple& MaxDisparity, const HTuple& NumLevels, const HTuple& ScoreThresh, const HTuple& Filter, const HTuple& SubDisparity);
  742. // Get a 3D point from the intersection of two lines of sight within a binocular camera system.
  743. LIntExport void IntersectLinesOfSight(const HTuple& CamParam1, const HTuple& CamParam2, const HTuple& RelPose, const HTuple& Row1, const HTuple& Col1, const HTuple& Row2, const HTuple& Col2, HTuple* X, HTuple* Y, HTuple* Z, HTuple* Dist);
  744. // Transform a disparity image into 3D points in a rectified stereo system.
  745. LIntExport void DisparityImageToXyz(const HObject& Disparity, HObject* X, HObject* Y, HObject* Z, const HTuple& CamParamRect1, const HTuple& CamParamRect2, const HTuple& RelPoseRect);
  746. // Transform an image point and its disparity into a 3D point in a rectified stereo system.
  747. LIntExport void DisparityToPoint3d(const HTuple& CamParamRect1, const HTuple& CamParamRect2, const HTuple& RelPoseRect, const HTuple& Row1, const HTuple& Col1, const HTuple& Disparity, HTuple* X, HTuple* Y, HTuple* Z);
  748. // Transform a disparity value into a distance value in a rectified binocular stereo system.
  749. LIntExport void DisparityToDistance(const HTuple& CamParamRect1, const HTuple& CamParamRect2, const HTuple& RelPoseRect, const HTuple& Disparity, HTuple* Distance);
  750. // Transform a distance value into a disparity in a rectified stereo system.
  751. LIntExport void DistanceToDisparity(const HTuple& CamParamRect1, const HTuple& CamParamRect2, const HTuple& RelPoseRect, const HTuple& Distance, HTuple* Disparity);
  752. // Generate transformation maps that describe the mapping of the images of a binocular camera pair to a common rectified image plane.
  753. LIntExport void GenBinocularRectificationMap(HObject* Map1, HObject* Map2, const HTuple& CamParam1, const HTuple& CamParam2, const HTuple& RelPose, const HTuple& SubSampling, const HTuple& Method, const HTuple& MapType, HTuple* CamParamRect1, HTuple* CamParamRect2, HTuple* CamPoseRect1, HTuple* CamPoseRect2, HTuple* RelPoseRect);
  754. // Determine all camera parameters of a binocular stereo system.
  755. LIntExport void BinocularCalibration(const HTuple& NX, const HTuple& NY, const HTuple& NZ, const HTuple& NRow1, const HTuple& NCol1, const HTuple& NRow2, const HTuple& NCol2, const HTuple& StartCamParam1, const HTuple& StartCamParam2, const HTuple& NStartPose1, const HTuple& NStartPose2, const HTuple& EstimateParams, HTuple* CamParam1, HTuple* CamParam2, HTuple* NFinalPose1, HTuple* NFinalPose2, HTuple* RelPose, HTuple* Errors);
  756. // Inquiring for possible settings of the HALCON debugging tool.
  757. LIntExport void QuerySpy(HTuple* Classes, HTuple* Values);
  758. // Control of the HALCON Debugging Tools.
  759. LIntExport void SetSpy(const HTuple& Class, const HTuple& Value);
  760. // Current configuration of the HALCON debugging-tool.
  761. LIntExport void GetSpy(const HTuple& Class, HTuple* Value);
  762. // Read a sheet-of-light model from a file and create a new model.
  763. LIntExport void ReadSheetOfLightModel(const HTuple& FileName, HTuple* SheetOfLightModelID);
  764. // Write a sheet-of-light model to a file.
  765. LIntExport void WriteSheetOfLightModel(const HTuple& SheetOfLightModelID, const HTuple& FileName);
  766. // Deserialize a sheet-of-light model.
  767. LIntExport void DeserializeSheetOfLightModel(const HTuple& SerializedItemHandle, HTuple* SheetOfLightModelID);
  768. // Serialize a sheet-of-light model.
  769. LIntExport void SerializeSheetOfLightModel(const HTuple& SheetOfLightModelID, HTuple* SerializedItemHandle);
  770. // Create a calibration object for sheet-of-light calibration.
  771. LIntExport void CreateSheetOfLightCalibObject(const HTuple& Width, const HTuple& Length, const HTuple& HeightMin, const HTuple& HeightMax, const HTuple& FileName);
  772. // Calibrate a sheet-of-light setup with a 3D calibration object.
  773. LIntExport void CalibrateSheetOfLight(const HTuple& SheetOfLightModelID, HTuple* Error);
  774. // Get the result of a calibrated measurement performed with the sheet-of-light technique as a 3D object model.
  775. LIntExport void GetSheetOfLightResultObjectModel3d(const HTuple& SheetOfLightModelID, HTuple* ObjectModel3D);
  776. // Get the iconic results of a measurement performed with the sheet-of light technique.
  777. LIntExport void GetSheetOfLightResult(HObject* ResultValue, const HTuple& SheetOfLightModelID, const HTuple& ResultName);
  778. // Apply the calibration transformations to the input disparity image.
  779. LIntExport void ApplySheetOfLightCalibration(const HObject& Disparity, const HTuple& SheetOfLightModelID);
  780. // Set sheet of light profiles by measured disparities.
  781. LIntExport void SetProfileSheetOfLight(const HObject& ProfileDisparityImage, const HTuple& SheetOfLightModelID, const HTuple& MovementPoses);
  782. // Process the profile image provided as input and store the resulting disparity to the sheet-of-light model.
  783. LIntExport void MeasureProfileSheetOfLight(const HObject& ProfileImage, const HTuple& SheetOfLightModelID, const HTuple& MovementPose);
  784. // Set selected parameters of the sheet-of-light model.
  785. LIntExport void SetSheetOfLightParam(const HTuple& SheetOfLightModelID, const HTuple& GenParamName, const HTuple& GenParamValue);
  786. // Get the value of a parameter, which has been set in a sheet-of-light model.
  787. LIntExport void GetSheetOfLightParam(const HTuple& SheetOfLightModelID, const HTuple& GenParamName, HTuple* GenParamValue);
  788. // For a given sheet-of-light model get the names of the generic iconic or control parameters that can be used in the different sheet-of-light operators.
  789. LIntExport void QuerySheetOfLightParams(const HTuple& SheetOfLightModelID, const HTuple& QueryName, HTuple* GenParamName);
  790. // Reset a sheet-of-light model.
  791. LIntExport void ResetSheetOfLightModel(const HTuple& SheetOfLightModelID);
  792. // This operator is inoperable. It had the following function: Delete all sheet-of-light models and free the allocated memory.
  793. LIntExport void ClearAllSheetOfLightModels();
  794. // Delete a sheet-of-light model and free the allocated memory.
  795. LIntExport void ClearSheetOfLightModel(const HTuple& SheetOfLightModelID);
  796. // Create a model to perform 3D-measurements using the sheet-of-light technique.
  797. LIntExport void CreateSheetOfLightModel(const HObject& ProfileRegion, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* SheetOfLightModelID);
  798. // Shade a height field.
  799. LIntExport void ShadeHeightField(const HObject& ImageHeight, HObject* ImageShade, const HTuple& Slant, const HTuple& Tilt, const HTuple& Albedo, const HTuple& Ambient, const HTuple& Shadows);
  800. // Estimate the albedo of a surface and the amount of ambient light.
  801. LIntExport void EstimateAlAm(const HObject& Image, HTuple* Albedo, HTuple* Ambient);
  802. // Estimate the slant of a light source and the albedo of a surface.
  803. LIntExport void EstimateSlAlZc(const HObject& Image, HTuple* Slant, HTuple* Albedo);
  804. // Estimate the slant of a light source and the albedo of a surface.
  805. LIntExport void EstimateSlAlLr(const HObject& Image, HTuple* Slant, HTuple* Albedo);
  806. // Estimate the tilt of a light source.
  807. LIntExport void EstimateTiltZc(const HObject& Image, HTuple* Tilt);
  808. // Estimate the tilt of a light source.
  809. LIntExport void EstimateTiltLr(const HObject& Image, HTuple* Tilt);
  810. // Reconstruct a surface from surface gradients.
  811. LIntExport void ReconstructHeightFieldFromGradient(const HObject& Gradient, HObject* HeightField, const HTuple& ReconstructionMethod, const HTuple& GenParamName, const HTuple& GenParamValue);
  812. // Reconstruct a surface according to the photometric stereo technique.
  813. LIntExport void PhotometricStereo(const HObject& Images, HObject* HeightField, HObject* Gradient, HObject* Albedo, const HTuple& Slants, const HTuple& Tilts, const HTuple& ResultType, const HTuple& ReconstructionMethod, const HTuple& GenParamName, const HTuple& GenParamValue);
  814. // Reconstruct a surface from a gray value image.
  815. LIntExport void SfsPentland(const HObject& Image, HObject* Height, const HTuple& Slant, const HTuple& Tilt, const HTuple& Albedo, const HTuple& Ambient);
  816. // Reconstruct a surface from a gray value image.
  817. LIntExport void SfsOrigLr(const HObject& Image, HObject* Height, const HTuple& Slant, const HTuple& Tilt, const HTuple& Albedo, const HTuple& Ambient);
  818. // Reconstruct a surface from a gray value image.
  819. LIntExport void SfsModLr(const HObject& Image, HObject* Height, const HTuple& Slant, const HTuple& Tilt, const HTuple& Albedo, const HTuple& Ambient);
  820. // Receive a serialized item over a socket connection.
  821. LIntExport void ReceiveSerializedItem(const HTuple& Socket, HTuple* SerializedItemHandle);
  822. // Send a serialized item over a socket connection.
  823. LIntExport void SendSerializedItem(const HTuple& Socket, const HTuple& SerializedItemHandle);
  824. // Write a serialized item to a file.
  825. LIntExport void FwriteSerializedItem(const HTuple& FileHandle, const HTuple& SerializedItemHandle);
  826. // Read a serialized item from a file.
  827. LIntExport void FreadSerializedItem(const HTuple& FileHandle, HTuple* SerializedItemHandle);
  828. // This operator is inoperable. It had the following function: Delete all current existing serialized items.
  829. LIntExport void ClearAllSerializedItems();
  830. // Delete a serialized item.
  831. LIntExport void ClearSerializedItem(const HTuple& SerializedItemHandle);
  832. // Access the data pointer of a serialized item.
  833. LIntExport void GetSerializedItemPtr(const HTuple& SerializedItemHandle, HTuple* Pointer, HTuple* Size);
  834. // Create a serialized item.
  835. LIntExport void CreateSerializedItemPtr(const HTuple& Pointer, const HTuple& Size, const HTuple& Copy, HTuple* SerializedItemHandle);
  836. // Fit 3D primitives into a set of 3D points.
  837. LIntExport void FitPrimitivesObjectModel3d(const HTuple& ObjectModel3D, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* ObjectModel3DOut);
  838. // Segment a set of 3D points into sub-sets with similar characteristics.
  839. LIntExport void SegmentObjectModel3d(const HTuple& ObjectModel3D, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* ObjectModel3DOut);
  840. // This operator is inoperable. It had the following function: Clear all text results.
  841. LIntExport void ClearAllTextResults();
  842. // Clear a text result.
  843. LIntExport void ClearTextResult(const HTuple& TextResultID);
  844. // Query an iconic value of a text segmentation result.
  845. LIntExport void GetTextObject(HObject* Characters, const HTuple& TextResultID, const HTuple& ResultName);
  846. // Query a control value of a text segmentation result.
  847. LIntExport void GetTextResult(const HTuple& TextResultID, const HTuple& ResultName, HTuple* ResultValue);
  848. // Find text in an image.
  849. LIntExport void FindText(const HObject& Image, const HTuple& TextModel, HTuple* TextResultID);
  850. // Query parameters of a text model.
  851. LIntExport void GetTextModelParam(const HTuple& TextModel, const HTuple& GenParamName, HTuple* GenParamValue);
  852. // Set parameters of a text model.
  853. LIntExport void SetTextModelParam(const HTuple& TextModel, const HTuple& GenParamName, const HTuple& GenParamValue);
  854. // This operator is inoperable. It had the following function: Clear all text models.
  855. LIntExport void ClearAllTextModels();
  856. // Clear a text model.
  857. LIntExport void ClearTextModel(const HTuple& TextModel);
  858. // Create a text model.
  859. LIntExport void CreateTextModelReader(const HTuple& Mode, const HTuple& OCRClassifier, HTuple* TextModel);
  860. // Create a text model.
  861. LIntExport void CreateTextModel(HTuple* TextModel);
  862. // Selects characters from a given region.
  863. LIntExport void SelectCharacters(const HObject& Region, HObject* RegionCharacters, const HTuple& DotPrint, const HTuple& StrokeWidth, const HTuple& CharWidth, const HTuple& CharHeight, const HTuple& Punctuation, const HTuple& DiacriticMarks, const HTuple& PartitionMethod, const HTuple& PartitionLines, const HTuple& FragmentDistance, const HTuple& ConnectFragments, const HTuple& ClutterSizeMax, const HTuple& StopAfter);
  864. // Segments characters in a given region of an image.
  865. LIntExport void SegmentCharacters(const HObject& Region, const HObject& Image, HObject* ImageForeground, HObject* RegionForeground, const HTuple& Method, const HTuple& EliminateLines, const HTuple& DotPrint, const HTuple& StrokeWidth, const HTuple& CharWidth, const HTuple& CharHeight, const HTuple& ThresholdOffset, const HTuple& Contrast, HTuple* UsedThreshold);
  866. // Determines the slant of characters of a text line or paragraph.
  867. LIntExport void TextLineSlant(const HObject& Region, const HObject& Image, const HTuple& CharHeight, const HTuple& SlantFrom, const HTuple& SlantTo, HTuple* SlantAngle);
  868. // Determines the orientation of a text line or paragraph.
  869. LIntExport void TextLineOrientation(const HObject& Region, const HObject& Image, const HTuple& CharHeight, const HTuple& OrientationFrom, const HTuple& OrientationTo, HTuple* OrientationAngle);
  870. // Classify a byte image using a look-up table.
  871. LIntExport void ClassifyImageClassLut(const HObject& Image, HObject* ClassRegions, const HTuple& ClassLUTHandle);
  872. // Classify an image with a k-Nearest-Neighbor classifier.
  873. LIntExport void ClassifyImageClassKnn(const HObject& Image, HObject* ClassRegions, HObject* DistanceImage, const HTuple& KNNHandle, const HTuple& RejectionThreshold);
  874. // Add training samples from an image to the training data of a k-Nearest-Neighbor classifier.
  875. LIntExport void AddSamplesImageClassKnn(const HObject& Image, const HObject& ClassRegions, const HTuple& KNNHandle);
  876. // Classify an image with a Gaussian Mixture Model.
  877. LIntExport void ClassifyImageClassGmm(const HObject& Image, HObject* ClassRegions, const HTuple& GMMHandle, const HTuple& RejectionThreshold);
  878. // Add training samples from an image to the training data of a Gaussian Mixture Model.
  879. LIntExport void AddSamplesImageClassGmm(const HObject& Image, const HObject& ClassRegions, const HTuple& GMMHandle, const HTuple& Randomize);
  880. // Classify an image with a support vector machine.
  881. LIntExport void ClassifyImageClassSvm(const HObject& Image, HObject* ClassRegions, const HTuple& SVMHandle);
  882. // Add training samples from an image to the training data of a support vector machine.
  883. LIntExport void AddSamplesImageClassSvm(const HObject& Image, const HObject& ClassRegions, const HTuple& SVMHandle);
  884. // Classify an image with a multilayer perceptron.
  885. LIntExport void ClassifyImageClassMlp(const HObject& Image, HObject* ClassRegions, const HTuple& MLPHandle, const HTuple& RejectionThreshold);
  886. // Add training samples from an image to the training data of a multilayer perceptron.
  887. LIntExport void AddSamplesImageClassMlp(const HObject& Image, const HObject& ClassRegions, const HTuple& MLPHandle);
  888. // Construct classes for class_ndim_norm.
  889. LIntExport void LearnNdimNorm(const HObject& Foreground, const HObject& Background, const HObject& Image, const HTuple& Metric, const HTuple& Distance, const HTuple& MinNumberPercent, HTuple* Radius, HTuple* Center, HTuple* Quality);
  890. // Train a classificator using a multi-channel image.
  891. LIntExport void LearnNdimBox(const HObject& Foreground, const HObject& Background, const HObject& MultiChannelImage, const HTuple& ClassifHandle);
  892. // Classify pixels using hyper-cuboids.
  893. LIntExport void ClassNdimBox(const HObject& MultiChannelImage, HObject* Regions, const HTuple& ClassifHandle);
  894. // Classify pixels using hyper-spheres or hyper-cubes.
  895. LIntExport void ClassNdimNorm(const HObject& MultiChannelImage, HObject* Regions, const HTuple& Metric, const HTuple& SingleMultiple, const HTuple& Radius, const HTuple& Center);
  896. // Segment an image using two-dimensional pixel classification.
  897. LIntExport void Class2dimSup(const HObject& ImageCol, const HObject& ImageRow, const HObject& FeatureSpace, HObject* RegionClass2Dim);
  898. // Segment two images by clustering.
  899. LIntExport void Class2dimUnsup(const HObject& Image1, const HObject& Image2, HObject* Classes, const HTuple& Threshold, const HTuple& NumClasses);
  900. // Compare two images pixel by pixel.
  901. LIntExport void CheckDifference(const HObject& Image, const HObject& Pattern, HObject* Selected, const HTuple& Mode, const HTuple& DiffLowerBound, const HTuple& DiffUpperBound, const HTuple& GrayOffset, const HTuple& AddRow, const HTuple& AddCol);
  902. // Perform a threshold segmentation for extracting characters.
  903. LIntExport void CharThreshold(const HObject& Image, const HObject& HistoRegion, HObject* Characters, const HTuple& Sigma, const HTuple& Percent, HTuple* Threshold);
  904. // Extract regions with equal gray values from an image.
  905. LIntExport void LabelToRegion(const HObject& LabelImage, HObject* Regions);
  906. // Suppress non-maximum points on an edge.
  907. LIntExport void NonmaxSuppressionAmp(const HObject& ImgAmp, HObject* ImageResult, const HTuple& Mode);
  908. // Suppress non-maximum points on an edge using a direction image.
  909. LIntExport void NonmaxSuppressionDir(const HObject& ImgAmp, const HObject& ImgDir, HObject* ImageResult, const HTuple& Mode);
  910. // Perform a hysteresis threshold operation on an image.
  911. LIntExport void HysteresisThreshold(const HObject& Image, HObject* RegionHysteresis, const HTuple& Low, const HTuple& High, const HTuple& MaxLength);
  912. // Segment an image using binary thresholding.
  913. LIntExport void BinaryThreshold(const HObject& Image, HObject* Region, const HTuple& Method, const HTuple& LightDark, HTuple* UsedThreshold);
  914. // Segment an image using local thresholding.
  915. LIntExport void LocalThreshold(const HObject& Image, HObject* Region, const HTuple& Method, const HTuple& LightDark, const HTuple& GenParamName, const HTuple& GenParamValue);
  916. // Threshold an image by local mean and standard deviation analysis.
  917. LIntExport void VarThreshold(const HObject& Image, HObject* Region, const HTuple& MaskWidth, const HTuple& MaskHeight, const HTuple& StdDevScale, const HTuple& AbsThreshold, const HTuple& LightDark);
  918. // Segment an image using a local threshold.
  919. LIntExport void DynThreshold(const HObject& OrigImage, const HObject& ThresholdImage, HObject* RegionDynThresh, const HTuple& Offset, const HTuple& LightDark);
  920. // Segment an image using global threshold.
  921. LIntExport void Threshold(const HObject& Image, HObject* Region, const HTuple& MinGray, const HTuple& MaxGray);
  922. // Extract level crossings from an image with subpixel accuracy.
  923. LIntExport void ThresholdSubPix(const HObject& Image, HObject* Border, const HTuple& Threshold);
  924. // Segment an image using regiongrowing for multi-channel images.
  925. LIntExport void RegiongrowingN(const HObject& MultiChannelImage, HObject* Regions, const HTuple& Metric, const HTuple& MinTolerance, const HTuple& MaxTolerance, const HTuple& MinSize);
  926. // Segment an image using regiongrowing.
  927. LIntExport void Regiongrowing(const HObject& Image, HObject* Regions, const HTuple& RasterHeight, const HTuple& RasterWidth, const HTuple& Tolerance, const HTuple& MinSize);
  928. // Perform a regiongrowing using mean gray values.
  929. LIntExport void RegiongrowingMean(const HObject& Image, HObject* Regions, const HTuple& StartRows, const HTuple& StartColumns, const HTuple& Tolerance, const HTuple& MinSize);
  930. // Segment an image by "pouring water" over it.
  931. LIntExport void Pouring(const HObject& Image, HObject* Regions, const HTuple& Mode, const HTuple& MinGray, const HTuple& MaxGray);
  932. // Extract watershed basins from an image using a threshold.
  933. LIntExport void WatershedsThreshold(const HObject& Image, HObject* Basins, const HTuple& Threshold);
  934. // Extract watersheds and basins from an image.
  935. LIntExport void Watersheds(const HObject& Image, HObject* Basins, HObject* Watersheds);
  936. // Extract zero crossings from an image.
  937. LIntExport void ZeroCrossing(const HObject& Image, HObject* RegionCrossing);
  938. // Extract zero crossings from an image with subpixel accuracy.
  939. LIntExport void ZeroCrossingSubPix(const HObject& Image, HObject* ZeroCrossings);
  940. // Threshold operator for signed images.
  941. LIntExport void DualThreshold(const HObject& Image, HObject* RegionCrossings, const HTuple& MinSize, const HTuple& MinGray, const HTuple& Threshold);
  942. // Expand a region starting at a given line.
  943. LIntExport void ExpandLine(const HObject& Image, HObject* RegionExpand, const HTuple& Coordinate, const HTuple& ExpandType, const HTuple& RowColumn, const HTuple& Threshold);
  944. // Detect all local minima in an image.
  945. LIntExport void LocalMin(const HObject& Image, HObject* LocalMinima);
  946. // Detect all gray value lowlands.
  947. LIntExport void Lowlands(const HObject& Image, HObject* Lowlands);
  948. // Detect the centers of all gray value lowlands.
  949. LIntExport void LowlandsCenter(const HObject& Image, HObject* Lowlands);
  950. // Detect all local maxima in an image.
  951. LIntExport void LocalMax(const HObject& Image, HObject* LocalMaxima);
  952. // Detect all gray value plateaus.
  953. LIntExport void Plateaus(const HObject& Image, HObject* Plateaus);
  954. // Detect the centers of all gray value plateaus.
  955. LIntExport void PlateausCenter(const HObject& Image, HObject* Plateaus);
  956. // Determine gray value thresholds from a histogram.
  957. LIntExport void HistoToThresh(const HTuple& Histogramm, const HTuple& Sigma, HTuple* MinThresh, HTuple* MaxThresh);
  958. // Segment an image using thresholds determined from its histogram.
  959. LIntExport void AutoThreshold(const HObject& Image, HObject* Regions, const HTuple& Sigma);
  960. // Segment an image using an automatically determined threshold.
  961. LIntExport void BinThreshold(const HObject& Image, HObject* Region);
  962. // Fast thresholding of images using global thresholds.
  963. LIntExport void FastThreshold(const HObject& Image, HObject* Region, const HTuple& MinGray, const HTuple& MaxGray, const HTuple& MinSize);
  964. // Transform a region in polar coordinates back to Cartesian coordinates.
  965. LIntExport void PolarTransRegionInv(const HObject& PolarRegion, HObject* XYTransRegion, const HTuple& Row, const HTuple& Column, const HTuple& AngleStart, const HTuple& AngleEnd, const HTuple& RadiusStart, const HTuple& RadiusEnd, const HTuple& WidthIn, const HTuple& HeightIn, const HTuple& Width, const HTuple& Height, const HTuple& Interpolation);
  966. // Transform a region within an annular arc to polar coordinates.
  967. LIntExport void PolarTransRegion(const HObject& Region, HObject* PolarTransRegion, const HTuple& Row, const HTuple& Column, const HTuple& AngleStart, const HTuple& AngleEnd, const HTuple& RadiusStart, const HTuple& RadiusEnd, const HTuple& Width, const HTuple& Height, const HTuple& Interpolation);
  968. // Merge regions from line scan images.
  969. LIntExport void MergeRegionsLineScan(const HObject& CurrRegions, const HObject& PrevRegions, HObject* CurrMergedRegions, HObject* PrevMergedRegions, const HTuple& ImageHeight, const HTuple& MergeBorder, const HTuple& MaxImagesRegion);
  970. // Partition a region into rectangles of approximately equal size.
  971. LIntExport void PartitionRectangle(const HObject& Region, HObject* Partitioned, const HTuple& Width, const HTuple& Height);
  972. // Partition a region horizontally at positions of small vertical extent.
  973. LIntExport void PartitionDynamic(const HObject& Region, HObject* Partitioned, const HTuple& Distance, const HTuple& Percent);
  974. // Convert regions to a label image.
  975. LIntExport void RegionToLabel(const HObject& Region, HObject* ImageLabel, const HTuple& Type, const HTuple& Width, const HTuple& Height);
  976. // Convert a region into a binary byte-image.
  977. LIntExport void RegionToBin(const HObject& Region, HObject* BinImage, const HTuple& ForegroundGray, const HTuple& BackgroundGray, const HTuple& Width, const HTuple& Height);
  978. // Return the union of two regions.
  979. LIntExport void Union2(const HObject& Region1, const HObject& Region2, HObject* RegionUnion);
  980. // Return the union of all input regions.
  981. LIntExport void Union1(const HObject& Region, HObject* RegionUnion);
  982. // Compute the closest-point transformation of a region.
  983. LIntExport void ClosestPointTransform(const HObject& Region, HObject* Distances, HObject* ClosestPoints, const HTuple& Metric, const HTuple& Foreground, const HTuple& ClosestPointMode, const HTuple& Width, const HTuple& Height);
  984. // Compute the distance transformation of a region.
  985. LIntExport void DistanceTransform(const HObject& Region, HObject* DistanceImage, const HTuple& Metric, const HTuple& Foreground, const HTuple& Width, const HTuple& Height);
  986. // Compute the skeleton of a region.
  987. LIntExport void Skeleton(const HObject& Region, HObject* Skeleton);
  988. // Apply a projective transformation to a region.
  989. LIntExport void ProjectiveTransRegion(const HObject& Regions, HObject* TransRegions, const HTuple& HomMat2D, const HTuple& Interpolation);
  990. // Apply an arbitrary affine 2D transformation to regions.
  991. LIntExport void AffineTransRegion(const HObject& Region, HObject* RegionAffineTrans, const HTuple& HomMat2D, const HTuple& Interpolate);
  992. // Reflect a region about an axis.
  993. LIntExport void MirrorRegion(const HObject& Region, HObject* RegionMirror, const HTuple& Mode, const HTuple& WidthHeight);
  994. // Zoom a region.
  995. LIntExport void ZoomRegion(const HObject& Region, HObject* RegionZoom, const HTuple& ScaleWidth, const HTuple& ScaleHeight);
  996. // Translate a region.
  997. LIntExport void MoveRegion(const HObject& Region, HObject* RegionMoved, const HTuple& Row, const HTuple& Column);
  998. // Find junctions and end points in a skeleton.
  999. LIntExport void JunctionsSkeleton(const HObject& Region, HObject* EndPoints, HObject* JuncPoints);
  1000. // Calculate the intersection of two regions.
  1001. LIntExport void Intersection(const HObject& Region1, const HObject& Region2, HObject* RegionIntersection);
  1002. // Partition the image plane using given regions.
  1003. LIntExport void Interjacent(const HObject& Region, HObject* RegionInterjacent, const HTuple& Mode);
  1004. // Fill up holes in regions.
  1005. LIntExport void FillUp(const HObject& Region, HObject* RegionFillUp);
  1006. // Fill up holes in regions having given shape features.
  1007. LIntExport void FillUpShape(const HObject& Region, HObject* RegionFillUp, const HTuple& Feature, const HTuple& Min, const HTuple& Max);
  1008. // Fill gaps between regions or split overlapping regions.
  1009. LIntExport void ExpandRegion(const HObject& Regions, const HObject& ForbiddenArea, HObject* RegionExpanded, const HTuple& Iterations, const HTuple& Mode);
  1010. // Clip a region relative to its smallest surrounding rectangle.
  1011. LIntExport void ClipRegionRel(const HObject& Region, HObject* RegionClipped, const HTuple& Top, const HTuple& Bottom, const HTuple& Left, const HTuple& Right);
  1012. // Clip a region to a rectangle.
  1013. LIntExport void ClipRegion(const HObject& Region, HObject* RegionClipped, const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2);
  1014. // Rank operator for regions.
  1015. LIntExport void RankRegion(const HObject& Region, HObject* RegionCount, const HTuple& Width, const HTuple& Height, const HTuple& Number);
  1016. // Compute connected components of a region.
  1017. LIntExport void Connection(const HObject& Region, HObject* ConnectedRegions);
  1018. // Calculate the symmetric difference of two regions.
  1019. LIntExport void SymmDifference(const HObject& Region1, const HObject& Region2, HObject* RegionDifference);
  1020. // Calculate the difference of two regions.
  1021. LIntExport void Difference(const HObject& Region, const HObject& Sub, HObject* RegionDifference);
  1022. // Return the complement of a region.
  1023. LIntExport void Complement(const HObject& Region, HObject* RegionComplement);
  1024. // Determine the connected components of the background of given regions.
  1025. LIntExport void BackgroundSeg(const HObject& Foreground, HObject* BackgroundRegions);
  1026. // Generate a region having a given Hamming distance.
  1027. LIntExport void HammingChangeRegion(const HObject& InputRegion, HObject* OutputRegion, const HTuple& Width, const HTuple& Height, const HTuple& Distance);
  1028. // Remove noise from a region.
  1029. LIntExport void RemoveNoiseRegion(const HObject& InputRegion, HObject* OutputRegion, const HTuple& Type);
  1030. // Transform the shape of a region.
  1031. LIntExport void ShapeTrans(const HObject& Region, HObject* RegionTrans, const HTuple& Type);
  1032. // Fill gaps between regions (depending on gray value or color) or split overlapping regions.
  1033. LIntExport void ExpandGray(const HObject& Regions, const HObject& Image, const HObject& ForbiddenArea, HObject* RegionExpand, const HTuple& Iterations, const HTuple& Mode, const HTuple& Threshold);
  1034. // Fill gaps between regions (depending on gray value or color) or split overlapping regions.
  1035. LIntExport void ExpandGrayRef(const HObject& Regions, const HObject& Image, const HObject& ForbiddenArea, HObject* RegionExpand, const HTuple& Iterations, const HTuple& Mode, const HTuple& RefGray, const HTuple& Threshold);
  1036. // Split lines represented by one pixel wide, non-branching lines.
  1037. LIntExport void SplitSkeletonLines(const HObject& SkeletonRegion, const HTuple& MaxDistance, HTuple* BeginRow, HTuple* BeginCol, HTuple* EndRow, HTuple* EndCol);
  1038. // Split lines represented by one pixel wide, non-branching regions.
  1039. LIntExport void SplitSkeletonRegion(const HObject& SkeletonRegion, HObject* RegionLines, const HTuple& MaxDistance);
  1040. // Convert a histogram into a region.
  1041. LIntExport void GenRegionHisto(HObject* Region, const HTuple& Histogram, const HTuple& Row, const HTuple& Column, const HTuple& Scale);
  1042. // Eliminate runs of a given length.
  1043. LIntExport void EliminateRuns(const HObject& Region, HObject* RegionClipped, const HTuple& ElimShorter, const HTuple& ElimLonger);
  1044. // Calculate the 3D surface normals of a 3D object model.
  1045. LIntExport void SurfaceNormalsObjectModel3d(const HTuple& ObjectModel3D, const HTuple& Method, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* ObjectModel3DNormals);
  1046. // Smooth the 3D points of a 3D object model.
  1047. LIntExport void SmoothObjectModel3d(const HTuple& ObjectModel3D, const HTuple& Method, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* SmoothObjectModel3D);
  1048. // Create a surface triangulation for a 3D object model.
  1049. LIntExport void TriangulateObjectModel3d(const HTuple& ObjectModel3D, const HTuple& Method, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* TriangulatedObjectModel3D, HTuple* Information);
  1050. // This operator is inoperable. It had the following function: Free the memory of all stereo models.
  1051. LIntExport void ClearAllStereoModels();
  1052. // Free the memory of a stereo model.
  1053. LIntExport void ClearStereoModel(const HTuple& StereoModelID);
  1054. // Reconstruct 3D points from calibrated multi-view stereo images.
  1055. LIntExport void ReconstructPointsStereo(const HTuple& StereoModelID, const HTuple& Row, const HTuple& Column, const HTuple& CovIP, const HTuple& CameraIdx, const HTuple& PointIdx, HTuple* X, HTuple* Y, HTuple* Z, HTuple* CovWP, HTuple* PointIdxOut);
  1056. // Reconstruct surface from calibrated multi-view stereo images.
  1057. LIntExport void ReconstructSurfaceStereo(const HObject& Images, const HTuple& StereoModelID, HTuple* ObjectModel3D);
  1058. // Get intermediate iconic results of a stereo reconstruction.
  1059. LIntExport void GetStereoModelObject(HObject* Object, const HTuple& StereoModelID, const HTuple& PairIndex, const HTuple& ObjectName);
  1060. // Return the list of image pairs set in a stereo model.
  1061. LIntExport void GetStereoModelImagePairs(const HTuple& StereoModelID, HTuple* From, HTuple* To);
  1062. // Specify image pairs to be used for surface stereo reconstruction.
  1063. LIntExport void SetStereoModelImagePairs(const HTuple& StereoModelID, const HTuple& From, const HTuple& To);
  1064. // Get stereo model parameters.
  1065. LIntExport void GetStereoModelParam(const HTuple& StereoModelID, const HTuple& GenParamName, HTuple* GenParamValue);
  1066. // Set stereo model parameters.
  1067. LIntExport void SetStereoModelParam(const HTuple& StereoModelID, const HTuple& GenParamName, const HTuple& GenParamValue);
  1068. // Create a HALCON stereo model.
  1069. LIntExport void CreateStereoModel(const HTuple& CameraSetupModelID, const HTuple& Method, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* StereoModelID);
  1070. // Query message queue parameters or information about the queue.
  1071. LIntExport void GetMessageQueueParam(const HTuple& QueueHandle, const HTuple& GenParamName, HTuple* GenParamValue);
  1072. // Set message queue parameters or invoke commands on the queue.
  1073. LIntExport void SetMessageQueueParam(const HTuple& QueueHandle, const HTuple& GenParamName, const HTuple& GenParamValue);
  1074. // Receive one or more messages from the message queue.
  1075. LIntExport void DequeueMessage(const HTuple& QueueHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* MessageHandle);
  1076. // Enqueue one or more messages to the message queue.
  1077. LIntExport void EnqueueMessage(const HTuple& QueueHandle, const HTuple& MessageHandle, const HTuple& GenParamName, const HTuple& GenParamValue);
  1078. // Close a message queue handle and release all associated resources.
  1079. LIntExport void ClearMessageQueue(const HTuple& QueueHandle);
  1080. // Create a new empty message queue.
  1081. LIntExport void CreateMessageQueue(HTuple* QueueHandle);
  1082. // Query message parameters or information about the message.
  1083. LIntExport void GetMessageParam(const HTuple& MessageHandle, const HTuple& GenParamName, const HTuple& Key, HTuple* GenParamValue);
  1084. // Set message parameter or invoke commands on the message.
  1085. LIntExport void SetMessageParam(const HTuple& MessageHandle, const HTuple& GenParamName, const HTuple& Key, const HTuple& GenParamValue);
  1086. // Retrieve an object associated with the key from the message.
  1087. LIntExport void GetMessageObj(HObject* ObjectData, const HTuple& MessageHandle, const HTuple& Key);
  1088. // Add a key/object pair to the message.
  1089. LIntExport void SetMessageObj(const HObject& ObjectData, const HTuple& MessageHandle, const HTuple& Key);
  1090. // Retrieve a tuple associated with the key from the message.
  1091. LIntExport void GetMessageTuple(const HTuple& MessageHandle, const HTuple& Key, HTuple* TupleData);
  1092. // Add a key/tuple pair to the message.
  1093. LIntExport void SetMessageTuple(const HTuple& MessageHandle, const HTuple& Key, const HTuple& TupleData);
  1094. // Close a message handle and release all associated resources.
  1095. LIntExport void ClearMessage(const HTuple& MessageHandle);
  1096. // Create a new empty message.
  1097. LIntExport void CreateMessage(HTuple* MessageHandle);
  1098. // This operator is inoperable. It had the following function: Destroy all condition synchronization objects.
  1099. LIntExport void ClearAllConditions();
  1100. // Destroy a condition synchronization object.
  1101. LIntExport void ClearCondition(const HTuple& ConditionHandle);
  1102. // Signal a condition synchronization object.
  1103. LIntExport void BroadcastCondition(const HTuple& ConditionHandle);
  1104. // Signal a condition synchronization object.
  1105. LIntExport void SignalCondition(const HTuple& ConditionHandle);
  1106. // Bounded wait on the signal of a condition synchronization object.
  1107. LIntExport void TimedWaitCondition(const HTuple& ConditionHandle, const HTuple& MutexHandle, const HTuple& Timeout);
  1108. // wait on the signal of a condition synchronization object.
  1109. LIntExport void WaitCondition(const HTuple& ConditionHandle, const HTuple& MutexHandle);
  1110. // Create a condition variable synchronization object.
  1111. LIntExport void CreateCondition(const HTuple& AttribName, const HTuple& AttribValue, HTuple* ConditionHandle);
  1112. // This operator is inoperable. It had the following function: Destroy all barrier synchronization objects.
  1113. LIntExport void ClearAllBarriers();
  1114. // Destroy a barrier synchronization object.
  1115. LIntExport void ClearBarrier(const HTuple& BarrierHandle);
  1116. // Wait on the release of a barrier synchronization object.
  1117. LIntExport void WaitBarrier(const HTuple& BarrierHandle);
  1118. // Create a barrier synchronization object.
  1119. LIntExport void CreateBarrier(const HTuple& AttribName, const HTuple& AttribValue, const HTuple& TeamSize, HTuple* BarrierHandle);
  1120. // This operator is inoperable. It had the following function: Clear all event synchronization objects.
  1121. LIntExport void ClearAllEvents();
  1122. // Clear the event synchronization object.
  1123. LIntExport void ClearEvent(const HTuple& EventHandle);
  1124. // Unlock an event synchronization object.
  1125. LIntExport void SignalEvent(const HTuple& EventHandle);
  1126. // Lock an event synchronization object only if it is unlocked.
  1127. LIntExport void TryWaitEvent(const HTuple& EventHandle, HTuple* Busy);
  1128. // Lock an event synchronization object.
  1129. LIntExport void WaitEvent(const HTuple& EventHandle);
  1130. // Create an event synchronization object.
  1131. LIntExport void CreateEvent(const HTuple& AttribName, const HTuple& AttribValue, HTuple* EventHandle);
  1132. // This operator is inoperable. It had the following function: Clear all mutex synchronization objects.
  1133. LIntExport void ClearAllMutexes();
  1134. // Clear the mutex synchronization object.
  1135. LIntExport void ClearMutex(const HTuple& MutexHandle);
  1136. // Unlock a mutex synchronization object.
  1137. LIntExport void UnlockMutex(const HTuple& MutexHandle);
  1138. // Lock a mutex synchronization object.
  1139. LIntExport void TryLockMutex(const HTuple& MutexHandle, HTuple* Busy);
  1140. // Lock a mutex synchronization object.
  1141. LIntExport void LockMutex(const HTuple& MutexHandle);
  1142. // Create a mutual exclusion synchronization object.
  1143. LIntExport void CreateMutex(const HTuple& AttribName, const HTuple& AttribValue, HTuple* MutexHandle);
  1144. // Query the attributes of a threading / synchronization object.
  1145. LIntExport void GetThreadingAttrib(const HTuple& ThreadingHandle, HTuple* ThreadingClass, HTuple* AttribName, HTuple* AttribValue);
  1146. // Set AOP information for operators.
  1147. LIntExport void SetAopInfo(const HTuple& OperatorName, const HTuple& IndexName, const HTuple& IndexValue, const HTuple& InfoName, const HTuple& InfoValue);
  1148. // Return AOP information for operators.
  1149. LIntExport void GetAopInfo(const HTuple& OperatorName, const HTuple& IndexName, const HTuple& IndexValue, const HTuple& InfoName, HTuple* InfoValue);
  1150. // Query indexing structure of AOP information for operators.
  1151. LIntExport void QueryAopInfo(const HTuple& OperatorName, const HTuple& IndexName, const HTuple& IndexValue, HTuple* Name, HTuple* Value);
  1152. // Check hardware regarding its potential for automatic operator parallelization.
  1153. LIntExport void OptimizeAop(const HTuple& OperatorName, const HTuple& IconicType, const HTuple& FileName, const HTuple& GenParamName, const HTuple& GenParamValue);
  1154. // Write knowledge about hardware dependent behavior of automatic operator parallelization to file.
  1155. LIntExport void WriteAopKnowledge(const HTuple& FileName, const HTuple& GenParamName, const HTuple& GenParamValue);
  1156. // Load knowledge about hardware dependent behavior of automatic operator parallelization.
  1157. LIntExport void ReadAopKnowledge(const HTuple& FileName, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Attributes, HTuple* OperatorNames);
  1158. //
  1159. LIntExport void TestAccess(const HObject& Object, HObject* Dummy, const HTuple& NumReadChord, const HTuple& NumCopyObj, const HTuple& Write_chord);
  1160. // Calculate the difference of two object tuples.
  1161. LIntExport void ObjDiff(const HObject& Objects, const HObject& ObjectsSub, HObject* ObjectsDiff);
  1162. // Set single gray values in an image.
  1163. LIntExport void SetGrayval(const HObject& Image, const HTuple& Row, const HTuple& Column, const HTuple& Grayval);
  1164. // Paint XLD objects into an image.
  1165. LIntExport void PaintXld(const HObject& XLD, const HObject& Image, HObject* ImageResult, const HTuple& Grayval);
  1166. // Paint regions into an image.
  1167. LIntExport void PaintRegion(const HObject& Region, const HObject& Image, HObject* ImageResult, const HTuple& Grayval, const HTuple& Type);
  1168. // Overpaint regions in an image.
  1169. LIntExport void OverpaintRegion(const HObject& Image, const HObject& Region, const HTuple& Grayval, const HTuple& Type);
  1170. // Create an image with a specified constant gray value.
  1171. LIntExport void GenImageProto(const HObject& Image, HObject* ImageCleared, const HTuple& Grayval);
  1172. // Paint the gray values of an image into another image.
  1173. LIntExport void PaintGray(const HObject& ImageSource, const HObject& ImageDestination, HObject* MixedImage);
  1174. // Overpaint the gray values of an image.
  1175. LIntExport void OverpaintGray(const HObject& ImageDestination, const HObject& ImageSource);
  1176. // Convert an "integer number" into an iconic object.
  1177. LIntExport void IntegerToObj(HObject* Objects, const HTuple& SurrogateTuple);
  1178. // Convert an iconic object into an "integer number."
  1179. LIntExport void ObjToInteger(const HObject& Objects, const HTuple& Index, const HTuple& Number, HTuple* SurrogateTuple);
  1180. // Copy an iconic object in the HALCON database.
  1181. LIntExport void CopyObj(const HObject& Objects, HObject* ObjectsSelected, const HTuple& Index, const HTuple& NumObj);
  1182. // Concatenate two iconic object tuples.
  1183. LIntExport void ConcatObj(const HObject& Objects1, const HObject& Objects2, HObject* ObjectsConcat);
  1184. // Delete an iconic object from the HALCON database.
  1185. LIntExport void ClearObj(const HObject& Objects);
  1186. // Copy an image and allocate new memory for it.
  1187. LIntExport void CopyImage(const HObject& Image, HObject* DupImage);
  1188. // Select objects from an object tuple.
  1189. LIntExport void SelectObj(const HObject& Objects, HObject* ObjectSelected, const HTuple& Index);
  1190. // Compare iconic objects regarding equality.
  1191. LIntExport void CompareObj(const HObject& Objects1, const HObject& Objects2, const HTuple& Epsilon, HTuple* IsEqual);
  1192. // Test whether a region is contained in another region.
  1193. LIntExport void TestSubsetRegion(const HObject& Region1, const HObject& Region2, HTuple* IsSubset);
  1194. // Test whether the regions of two objects are identical.
  1195. LIntExport void TestEqualRegion(const HObject& Regions1, const HObject& Regions2, HTuple* IsEqual);
  1196. // Compare image objects regarding equality.
  1197. LIntExport void TestEqualObj(const HObject& Objects1, const HObject& Objects2, HTuple* IsEqual);
  1198. // Number of objects in a tuple.
  1199. LIntExport void CountObj(const HObject& Objects, HTuple* Number);
  1200. // Information about the components of an image object.
  1201. LIntExport void GetChannelInfo(const HObject& Object, const HTuple& Request, const HTuple& Channel, HTuple* Information);
  1202. // Name of the class of an image object.
  1203. LIntExport void GetObjClass(const HObject& Object, HTuple* Class);
  1204. // Create a three-channel image from a pointer to the interleaved pixels.
  1205. LIntExport void GenImageInterleaved(HObject* ImageRGB, const HTuple& PixelPointer, const HTuple& ColorFormat, const HTuple& OriginalWidth, const HTuple& OriginalHeight, const HTuple& Alignment, const HTuple& Type, const HTuple& ImageWidth, const HTuple& ImageHeight, const HTuple& StartRow, const HTuple& StartColumn, const HTuple& BitsPerChannel, const HTuple& BitShift);
  1206. // Create a region from an XLD polygon.
  1207. LIntExport void GenRegionPolygonXld(const HObject& Polygon, HObject* Region, const HTuple& Mode);
  1208. // Create a region from an XLD contour.
  1209. LIntExport void GenRegionContourXld(const HObject& Contour, HObject* Region, const HTuple& Mode);
  1210. // Store a polygon as a "filled" region.
  1211. LIntExport void GenRegionPolygonFilled(HObject* Region, const HTuple& Rows, const HTuple& Columns);
  1212. // Store a polygon as a region.
  1213. LIntExport void GenRegionPolygon(HObject* Region, const HTuple& Rows, const HTuple& Columns);
  1214. // Store individual pixels as image region.
  1215. LIntExport void GenRegionPoints(HObject* Region, const HTuple& Rows, const HTuple& Columns);
  1216. // Create a region from a runlength coding.
  1217. LIntExport void GenRegionRuns(HObject* Region, const HTuple& Row, const HTuple& ColumnBegin, const HTuple& ColumnEnd);
  1218. // Create a rectangle of any orientation.
  1219. LIntExport void GenRectangle2(HObject* Rectangle, const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Length1, const HTuple& Length2);
  1220. // Create a rectangle parallel to the coordinate axes.
  1221. LIntExport void GenRectangle1(HObject* Rectangle, const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2);
  1222. // Create a random region.
  1223. LIntExport void GenRandomRegion(HObject* RegionRandom, const HTuple& Width, const HTuple& Height);
  1224. // Create an image from three pointers to the pixels (red/green/blue).
  1225. LIntExport void GenImage3(HObject* ImageRGB, const HTuple& Type, const HTuple& Width, const HTuple& Height, const HTuple& PixelPointerRed, const HTuple& PixelPointerGreen, const HTuple& PixelPointerBlue);
  1226. // Create an image from a pointer to the pixels.
  1227. LIntExport void GenImage1(HObject* Image, const HTuple& Type, const HTuple& Width, const HTuple& Height, const HTuple& PixelPointer);
  1228. // Create an image with constant gray value.
  1229. LIntExport void GenImageConst(HObject* Image, const HTuple& Type, const HTuple& Width, const HTuple& Height);
  1230. // Create an ellipse sector.
  1231. LIntExport void GenEllipseSector(HObject* EllipseSector, const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Radius1, const HTuple& Radius2, const HTuple& StartAngle, const HTuple& EndAngle);
  1232. // Create an ellipse.
  1233. LIntExport void GenEllipse(HObject* Ellipse, const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Radius1, const HTuple& Radius2);
  1234. // Create a circle sector.
  1235. LIntExport void GenCircleSector(HObject* CircleSector, const HTuple& Row, const HTuple& Column, const HTuple& Radius, const HTuple& StartAngle, const HTuple& EndAngle);
  1236. // Create a circle.
  1237. LIntExport void GenCircle(HObject* Circle, const HTuple& Row, const HTuple& Column, const HTuple& Radius);
  1238. // Create a checkered region.
  1239. LIntExport void GenCheckerRegion(HObject* RegionChecker, const HTuple& WidthRegion, const HTuple& HeightRegion, const HTuple& WidthPattern, const HTuple& HeightPattern);
  1240. // Create a region from lines or pixels.
  1241. LIntExport void GenGridRegion(HObject* RegionGrid, const HTuple& RowSteps, const HTuple& ColumnSteps, const HTuple& Type, const HTuple& Width, const HTuple& Height);
  1242. // Create random regions like circles, rectangles and ellipses.
  1243. LIntExport void GenRandomRegions(HObject* Regions, const HTuple& Type, const HTuple& WidthMin, const HTuple& WidthMax, const HTuple& HeightMin, const HTuple& HeightMax, const HTuple& PhiMin, const HTuple& PhiMax, const HTuple& NumRegions, const HTuple& Width, const HTuple& Height);
  1244. // Store input lines described in Hesse normal form as regions.
  1245. LIntExport void GenRegionHline(HObject* Regions, const HTuple& Orientation, const HTuple& Distance);
  1246. // Store input lines as regions.
  1247. LIntExport void GenRegionLine(HObject* RegionLines, const HTuple& BeginRow, const HTuple& BeginCol, const HTuple& EndRow, const HTuple& EndCol);
  1248. // Create an empty object tuple.
  1249. LIntExport void GenEmptyObj(HObject* EmptyObject);
  1250. // Create an empty region.
  1251. LIntExport void GenEmptyRegion(HObject* EmptyRegion);
  1252. // Create a gray value ramp.
  1253. LIntExport void GenImageGrayRamp(HObject* ImageGrayRamp, const HTuple& Alpha, const HTuple& Beta, const HTuple& Mean, const HTuple& Row, const HTuple& Column, const HTuple& Width, const HTuple& Height);
  1254. // Create a three-channel image from three pointers on the pixels with storage management.
  1255. LIntExport void GenImage3Extern(HObject* Image, const HTuple& Type, const HTuple& Width, const HTuple& Height, const HTuple& PointerRed, const HTuple& PointerGreen, const HTuple& PointerBlue, const HTuple& ClearProc);
  1256. // Create an image from a pointer on the pixels with storage management.
  1257. LIntExport void GenImage1Extern(HObject* Image, const HTuple& Type, const HTuple& Width, const HTuple& Height, const HTuple& PixelPointer, const HTuple& ClearProc);
  1258. // Create an image with a rectangular domain from a pointer on the pixels (with storage management).
  1259. LIntExport void GenImage1Rect(HObject* Image, const HTuple& PixelPointer, const HTuple& Width, const HTuple& Height, const HTuple& VerticalPitch, const HTuple& HorizontalBitPitch, const HTuple& BitsPerPixel, const HTuple& DoCopy, const HTuple& ClearProc);
  1260. // Access to the image data pointer and the image data inside the smallest rectangle of the domain of the input image.
  1261. LIntExport void GetImagePointer1Rect(const HObject& Image, HTuple* PixelPointer, HTuple* Width, HTuple* Height, HTuple* VerticalPitch, HTuple* HorizontalBitPitch, HTuple* BitsPerPixel);
  1262. // Access the pointers of a colored image.
  1263. LIntExport void GetImagePointer3(const HObject& ImageRGB, HTuple* PointerRed, HTuple* PointerGreen, HTuple* PointerBlue, HTuple* Type, HTuple* Width, HTuple* Height);
  1264. // Access the pointer of a channel.
  1265. LIntExport void GetImagePointer1(const HObject& Image, HTuple* Pointer, HTuple* Type, HTuple* Width, HTuple* Height);
  1266. // Return the type of an image.
  1267. LIntExport void GetImageType(const HObject& Image, HTuple* Type);
  1268. // Return the size of an image.
  1269. LIntExport void GetImageSize(const HObject& Image, HTuple* Width, HTuple* Height);
  1270. // Request time at which the image was created.
  1271. LIntExport void GetImageTime(const HObject& Image, HTuple* MSecond, HTuple* Second, HTuple* Minute, HTuple* Hour, HTuple* Day, HTuple* YDay, HTuple* Month, HTuple* Year);
  1272. // Return gray values of an image at the positions given by tuples of rows and columns.
  1273. LIntExport void GetGrayvalInterpolated(const HObject& Image, const HTuple& Row, const HTuple& Column, const HTuple& Interpolation, HTuple* Grayval);
  1274. // Access the gray values of an image object.
  1275. LIntExport void GetGrayval(const HObject& Image, const HTuple& Row, const HTuple& Column, HTuple* Grayval);
  1276. // Access the thickness of a region along the main axis.
  1277. LIntExport void GetRegionThickness(const HObject& Region, HTuple* Thickness, HTuple* Histogramm);
  1278. // Polygon approximation of a region.
  1279. LIntExport void GetRegionPolygon(const HObject& Region, const HTuple& Tolerance, HTuple* Rows, HTuple* Columns);
  1280. // Access the pixels of a region.
  1281. LIntExport void GetRegionPoints(const HObject& Region, HTuple* Rows, HTuple* Columns);
  1282. // Access the contour of an object.
  1283. LIntExport void GetRegionContour(const HObject& Region, HTuple* Rows, HTuple* Columns);
  1284. // Access the runlength coding of a region.
  1285. LIntExport void GetRegionRuns(const HObject& Region, HTuple* Row, HTuple* ColumnBegin, HTuple* ColumnEnd);
  1286. // Contour of an object as chain code.
  1287. LIntExport void GetRegionChain(const HObject& Region, HTuple* Row, HTuple* Column, HTuple* Chain);
  1288. // Access convex hull as contour.
  1289. LIntExport void GetRegionConvex(const HObject& Region, HTuple* Rows, HTuple* Columns);
  1290. // Verification of a pattern using an OCV tool.
  1291. LIntExport void DoOcvSimple(const HObject& Pattern, const HTuple& OCVHandle, const HTuple& PatternName, const HTuple& AdaptPos, const HTuple& AdaptSize, const HTuple& AdaptAngle, const HTuple& AdaptGray, const HTuple& Threshold, HTuple* Quality);
  1292. // Training of an OCV tool.
  1293. LIntExport void TraindOcvProj(const HObject& Pattern, const HTuple& OCVHandle, const HTuple& Name, const HTuple& Mode);
  1294. // Deserialize a serialized OCV tool.
  1295. LIntExport void DeserializeOcv(const HTuple& SerializedItemHandle, HTuple* OCVHandle);
  1296. // Serialize an OCV tool.
  1297. LIntExport void SerializeOcv(const HTuple& OCVHandle, HTuple* SerializedItemHandle);
  1298. // Reading an OCV tool from file.
  1299. LIntExport void ReadOcv(const HTuple& FileName, HTuple* OCVHandle);
  1300. // Saving an OCV tool to file.
  1301. LIntExport void WriteOcv(const HTuple& OCVHandle, const HTuple& FileName);
  1302. // This operator is inoperable. It had the following function: Clear all OCV tools.
  1303. LIntExport void CloseAllOcvs();
  1304. // Clear an OCV tool.
  1305. LIntExport void CloseOcv(const HTuple& OCVHandle);
  1306. // Create a new OCV tool based on gray value projections.
  1307. LIntExport void CreateOcvProj(const HTuple& PatternNames, HTuple* OCVHandle);
  1308. // Classify a related group of characters with an OCR classifier.
  1309. LIntExport void DoOcrWordKnn(const HObject& Character, const HObject& Image, const HTuple& OCRHandle, const HTuple& Expression, const HTuple& NumAlternatives, const HTuple& NumCorrections, HTuple* Class, HTuple* Confidence, HTuple* Word, HTuple* Score);
  1310. // Deserialize a serialized k-NN-based OCR classifier.
  1311. LIntExport void DeserializeOcrClassKnn(const HTuple& SerializedItemHandle, HTuple* OCRHandle);
  1312. // Serialize a k-NN-based OCR classifier.
  1313. LIntExport void SerializeOcrClassKnn(const HTuple& OCRHandle, HTuple* SerializedItemHandle);
  1314. // Read an OCR classifier from a file.
  1315. LIntExport void ReadOcrClassKnn(const HTuple& FileName, HTuple* OCRHandle);
  1316. // Write a k-NN classifier for an OCR task to a file.
  1317. LIntExport void WriteOcrClassKnn(const HTuple& OCRHandle, const HTuple& FileName);
  1318. // This operator is inoperable. It had the following function: Clear all OCR classifiers.
  1319. LIntExport void ClearAllOcrClassKnn();
  1320. // Clear an OCR classifier.
  1321. LIntExport void ClearOcrClassKnn(const HTuple& OCRHandle);
  1322. // Create an OCR classifier using a k-Nearest Neighbor (k-NN) classifier.
  1323. LIntExport void CreateOcrClassKnn(const HTuple& WidthCharacter, const HTuple& HeightCharacter, const HTuple& Interpolation, const HTuple& Features, const HTuple& Characters, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* OCRHandle);
  1324. // Trains an k-NN classifier for an OCR task.
  1325. LIntExport void TrainfOcrClassKnn(const HTuple& OCRHandle, const HTuple& TrainingFile, const HTuple& GenParamName, const HTuple& GenParamValue);
  1326. // Compute the features of a character.
  1327. LIntExport void GetFeaturesOcrClassKnn(const HObject& Character, const HTuple& OCRHandle, const HTuple& Transform, HTuple* Features);
  1328. // Return the parameters of an OCR classifier.
  1329. LIntExport void GetParamsOcrClassKnn(const HTuple& OCRHandle, HTuple* WidthCharacter, HTuple* HeightCharacter, HTuple* Interpolation, HTuple* Features, HTuple* Characters, HTuple* Preprocessing, HTuple* NumTrees);
  1330. // Classify multiple characters with an k-NN classifier.
  1331. LIntExport void DoOcrMultiClassKnn(const HObject& Character, const HObject& Image, const HTuple& OCRHandle, HTuple* Class, HTuple* Confidence);
  1332. // Classify a single character with an OCR classifier.
  1333. LIntExport void DoOcrSingleClassKnn(const HObject& Character, const HObject& Image, const HTuple& OCRHandle, const HTuple& NumClasses, const HTuple& NumNeighbors, HTuple* Class, HTuple* Confidence);
  1334. // Select an optimal combination of features to classify OCR data.
  1335. LIntExport void SelectFeatureSetTrainfKnn(const HTuple& TrainingFile, const HTuple& FeatureList, const HTuple& SelectionMethod, const HTuple& Width, const HTuple& Height, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* OCRHandle, HTuple* FeatureSet, HTuple* Score);
  1336. // Select an optimal combination of features to classify OCR data from a (protected) training file.
  1337. LIntExport void SelectFeatureSetTrainfMlpProtected(const HTuple& TrainingFile, const HTuple& Password, const HTuple& FeatureList, const HTuple& SelectionMethod, const HTuple& Width, const HTuple& Height, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* OCRHandle, HTuple* FeatureSet, HTuple* Score);
  1338. // Selects an optimal combination of features to classify OCR data.
  1339. LIntExport void SelectFeatureSetTrainfMlp(const HTuple& TrainingFile, const HTuple& FeatureList, const HTuple& SelectionMethod, const HTuple& Width, const HTuple& Height, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* OCRHandle, HTuple* FeatureSet, HTuple* Score);
  1340. // Select an optimal combination of features to classify OCR data from a (protected) training file.
  1341. LIntExport void SelectFeatureSetTrainfSvmProtected(const HTuple& TrainingFile, const HTuple& Password, const HTuple& FeatureList, const HTuple& SelectionMethod, const HTuple& Width, const HTuple& Height, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* OCRHandle, HTuple* FeatureSet, HTuple* Score);
  1342. // Selects an optimal combination of features to classify OCR data.
  1343. LIntExport void SelectFeatureSetTrainfSvm(const HTuple& TrainingFile, const HTuple& FeatureList, const HTuple& SelectionMethod, const HTuple& Width, const HTuple& Height, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* OCRHandle, HTuple* FeatureSet, HTuple* Score);
  1344. // This operator is inoperable. It had the following function: Clear all lexica.
  1345. LIntExport void ClearAllLexica();
  1346. // Clear a lexicon.
  1347. LIntExport void ClearLexicon(const HTuple& LexiconHandle);
  1348. // Find a similar word in a lexicon.
  1349. LIntExport void SuggestLexicon(const HTuple& LexiconHandle, const HTuple& Word, HTuple* Suggestion, HTuple* NumCorrections);
  1350. // Check if a word is contained in a lexicon.
  1351. LIntExport void LookupLexicon(const HTuple& LexiconHandle, const HTuple& Word, HTuple* Found);
  1352. // Query all words from a lexicon.
  1353. LIntExport void InspectLexicon(const HTuple& LexiconHandle, HTuple* Words);
  1354. // Create a lexicon from a text file.
  1355. LIntExport void ImportLexicon(const HTuple& Name, const HTuple& FileName, HTuple* LexiconHandle);
  1356. // Create a lexicon from a tuple of words.
  1357. LIntExport void CreateLexicon(const HTuple& Name, const HTuple& Words, HTuple* LexiconHandle);
  1358. // This operator is inoperable. It had the following function: Clear all SVM based OCR classifiers.
  1359. LIntExport void ClearAllOcrClassSvm();
  1360. // Clear an SVM-based OCR classifier.
  1361. LIntExport void ClearOcrClassSvm(const HTuple& OCRHandle);
  1362. // Deserialize a serialized SVM-based OCR classifier.
  1363. LIntExport void DeserializeOcrClassSvm(const HTuple& SerializedItemHandle, HTuple* OCRHandle);
  1364. // Serialize a SVM-based OCR classifier
  1365. LIntExport void SerializeOcrClassSvm(const HTuple& OCRHandle, HTuple* SerializedItemHandle);
  1366. // Read a SVM-based OCR classifier from a file.
  1367. LIntExport void ReadOcrClassSvm(const HTuple& FileName, HTuple* OCRHandle);
  1368. // Write an OCR classifier to a file.
  1369. LIntExport void WriteOcrClassSvm(const HTuple& OCRHandle, const HTuple& FileName);
  1370. // Compute the features of a character.
  1371. LIntExport void GetFeaturesOcrClassSvm(const HObject& Character, const HTuple& OCRHandle, const HTuple& Transform, HTuple* Features);
  1372. // Classify a related group of characters with an OCR classifier.
  1373. LIntExport void DoOcrWordSvm(const HObject& Character, const HObject& Image, const HTuple& OCRHandle, const HTuple& Expression, const HTuple& NumAlternatives, const HTuple& NumCorrections, HTuple* Class, HTuple* Word, HTuple* Score);
  1374. // Classify multiple characters with an SVM-based OCR classifier.
  1375. LIntExport void DoOcrMultiClassSvm(const HObject& Character, const HObject& Image, const HTuple& OCRHandle, HTuple* Class);
  1376. // Classify a single character with an SVM-based OCR classifier.
  1377. LIntExport void DoOcrSingleClassSvm(const HObject& Character, const HObject& Image, const HTuple& OCRHandle, const HTuple& Num, HTuple* Class);
  1378. // Approximate a trained SVM-based OCR classifier by a reduced SVM.
  1379. LIntExport void ReduceOcrClassSvm(const HTuple& OCRHandle, const HTuple& Method, const HTuple& MinRemainingSV, const HTuple& MaxError, HTuple* OCRHandleReduced);
  1380. // Train an OCR classifier with data from a (protected) training file.
  1381. LIntExport void TrainfOcrClassSvmProtected(const HTuple& OCRHandle, const HTuple& TrainingFile, const HTuple& Password, const HTuple& Epsilon, const HTuple& TrainMode);
  1382. // Train an OCR classifier.
  1383. LIntExport void TrainfOcrClassSvm(const HTuple& OCRHandle, const HTuple& TrainingFile, const HTuple& Epsilon, const HTuple& TrainMode);
  1384. // Compute the information content of the preprocessed feature vectors of an SVM-based OCR classifier.
  1385. LIntExport void GetPrepInfoOcrClassSvm(const HTuple& OCRHandle, const HTuple& TrainingFile, const HTuple& Preprocessing, HTuple* InformationCont, HTuple* CumInformationCont);
  1386. // Return the number of support vectors of an OCR classifier.
  1387. LIntExport void GetSupportVectorNumOcrClassSvm(const HTuple& OCRHandle, HTuple* NumSupportVectors, HTuple* NumSVPerSVM);
  1388. // Return the index of a support vector from a trained OCR classifier that is based on support vector machines.
  1389. LIntExport void GetSupportVectorOcrClassSvm(const HTuple& OCRHandle, const HTuple& IndexSupportVector, HTuple* Index);
  1390. // Return the parameters of an OCR classifier.
  1391. LIntExport void GetParamsOcrClassSvm(const HTuple& OCRHandle, HTuple* WidthCharacter, HTuple* HeightCharacter, HTuple* Interpolation, HTuple* Features, HTuple* Characters, HTuple* KernelType, HTuple* KernelParam, HTuple* Nu, HTuple* Mode, HTuple* Preprocessing, HTuple* NumComponents);
  1392. // Create an OCR classifier using a support vector machine.
  1393. LIntExport void CreateOcrClassSvm(const HTuple& WidthCharacter, const HTuple& HeightCharacter, const HTuple& Interpolation, const HTuple& Features, const HTuple& Characters, const HTuple& KernelType, const HTuple& KernelParam, const HTuple& Nu, const HTuple& Mode, const HTuple& Preprocessing, const HTuple& NumComponents, HTuple* OCRHandle);
  1394. // This operator is inoperable. It had the following function: Clear all OCR classifiers.
  1395. LIntExport void ClearAllOcrClassMlp();
  1396. // Clear an OCR classifier.
  1397. LIntExport void ClearOcrClassMlp(const HTuple& OCRHandle);
  1398. // Deserialize a serialized MLP-based OCR classifier.
  1399. LIntExport void DeserializeOcrClassMlp(const HTuple& SerializedItemHandle, HTuple* OCRHandle);
  1400. // Serialize a MLP-based OCR classifier.
  1401. LIntExport void SerializeOcrClassMlp(const HTuple& OCRHandle, HTuple* SerializedItemHandle);
  1402. // Read an OCR classifier from a file.
  1403. LIntExport void ReadOcrClassMlp(const HTuple& FileName, HTuple* OCRHandle);
  1404. // Write an OCR classifier to a file.
  1405. LIntExport void WriteOcrClassMlp(const HTuple& OCRHandle, const HTuple& FileName);
  1406. // Compute the features of a character.
  1407. LIntExport void GetFeaturesOcrClassMlp(const HObject& Character, const HTuple& OCRHandle, const HTuple& Transform, HTuple* Features);
  1408. // Classify a related group of characters with an OCR classifier.
  1409. LIntExport void DoOcrWordMlp(const HObject& Character, const HObject& Image, const HTuple& OCRHandle, const HTuple& Expression, const HTuple& NumAlternatives, const HTuple& NumCorrections, HTuple* Class, HTuple* Confidence, HTuple* Word, HTuple* Score);
  1410. // Classify multiple characters with an OCR classifier.
  1411. LIntExport void DoOcrMultiClassMlp(const HObject& Character, const HObject& Image, const HTuple& OCRHandle, HTuple* Class, HTuple* Confidence);
  1412. // Classify a single character with an OCR classifier.
  1413. LIntExport void DoOcrSingleClassMlp(const HObject& Character, const HObject& Image, const HTuple& OCRHandle, const HTuple& Num, HTuple* Class, HTuple* Confidence);
  1414. // Train an OCR classifier with data from a (protected) training file.
  1415. LIntExport void TrainfOcrClassMlpProtected(const HTuple& OCRHandle, const HTuple& TrainingFile, const HTuple& Password, const HTuple& MaxIterations, const HTuple& WeightTolerance, const HTuple& ErrorTolerance, HTuple* Error, HTuple* ErrorLog);
  1416. // Train an OCR classifier.
  1417. LIntExport void TrainfOcrClassMlp(const HTuple& OCRHandle, const HTuple& TrainingFile, const HTuple& MaxIterations, const HTuple& WeightTolerance, const HTuple& ErrorTolerance, HTuple* Error, HTuple* ErrorLog);
  1418. // Compute the information content of the preprocessed feature vectors of an OCR classifier.
  1419. LIntExport void GetPrepInfoOcrClassMlp(const HTuple& OCRHandle, const HTuple& TrainingFile, const HTuple& Preprocessing, HTuple* InformationCont, HTuple* CumInformationCont);
  1420. // Return the rejection class parameters of an OCR classifier.
  1421. LIntExport void GetRejectionParamsOcrClassMlp(const HTuple& OCRHandle, const HTuple& GenParamName, HTuple* GenParamValue);
  1422. // Set the rejection class parameters of an OCR classifier.
  1423. LIntExport void SetRejectionParamsOcrClassMlp(const HTuple& OCRHandle, const HTuple& GenParamName, const HTuple& GenParamValue);
  1424. // Return the regularization parameters of an OCR classifier.
  1425. LIntExport void GetRegularizationParamsOcrClassMlp(const HTuple& OCRHandle, const HTuple& GenParamName, HTuple* GenParamValue);
  1426. // Set the regularization parameters of an OCR classifier.
  1427. LIntExport void SetRegularizationParamsOcrClassMlp(const HTuple& OCRHandle, const HTuple& GenParamName, const HTuple& GenParamValue);
  1428. // Return the parameters of an OCR classifier.
  1429. LIntExport void GetParamsOcrClassMlp(const HTuple& OCRHandle, HTuple* WidthCharacter, HTuple* HeightCharacter, HTuple* Interpolation, HTuple* Features, HTuple* Characters, HTuple* NumHidden, HTuple* Preprocessing, HTuple* NumComponents);
  1430. // Create an OCR classifier using a multilayer perceptron.
  1431. LIntExport void CreateOcrClassMlp(const HTuple& WidthCharacter, const HTuple& HeightCharacter, const HTuple& Interpolation, const HTuple& Features, const HTuple& Characters, const HTuple& NumHidden, const HTuple& Preprocessing, const HTuple& NumComponents, const HTuple& RandSeed, HTuple* OCRHandle);
  1432. // Serialize an OCR classifier.
  1433. LIntExport void SerializeOcr(const HTuple& OcrHandle, HTuple* SerializedItemHandle);
  1434. // Deserialize a serialized OCR classifier.
  1435. LIntExport void DeserializeOcr(const HTuple& SerializedItemHandle, HTuple* OcrHandle);
  1436. // Writing an OCR classifier into a file.
  1437. LIntExport void WriteOcr(const HTuple& OcrHandle, const HTuple& FileName);
  1438. // Read an OCR classifier from a file.
  1439. LIntExport void ReadOcr(const HTuple& FileName, HTuple* OcrHandle);
  1440. // Classify one character.
  1441. LIntExport void DoOcrSingle(const HObject& Character, const HObject& Image, const HTuple& OcrHandle, HTuple* Classes, HTuple* Confidences);
  1442. // Classify characters.
  1443. LIntExport void DoOcrMulti(const HObject& Character, const HObject& Image, const HTuple& OcrHandle, HTuple* Class, HTuple* Confidence);
  1444. // Get information about an OCR classifier.
  1445. LIntExport void InfoOcrClassBox(const HTuple& OcrHandle, HTuple* WidthPattern, HTuple* HeightPattern, HTuple* Interpolation, HTuple* WidthMaxChar, HTuple* HeightMaxChar, HTuple* Features, HTuple* Characters);
  1446. // Create a new OCR-classifier.
  1447. LIntExport void CreateOcrClassBox(const HTuple& WidthPattern, const HTuple& HeightPattern, const HTuple& Interpolation, const HTuple& Features, const HTuple& Character, HTuple* OcrHandle);
  1448. // Train an OCR classifier by the input of regions.
  1449. LIntExport void TraindOcrClassBox(const HObject& Character, const HObject& Image, const HTuple& OcrHandle, const HTuple& Class, HTuple* AvgConfidence);
  1450. // Train an OCR classifier with the help of a training file.
  1451. LIntExport void TrainfOcrClassBox(const HTuple& OcrHandle, const HTuple& TrainingFile, HTuple* AvgConfidence);
  1452. // Protection of training data.
  1453. LIntExport void ProtectOcrTrainf(const HTuple& TrainingFile, const HTuple& Password, const HTuple& TrainingFileProtected);
  1454. // Storing of training characters into a file.
  1455. LIntExport void WriteOcrTrainf(const HObject& Character, const HObject& Image, const HTuple& Class, const HTuple& TrainingFile);
  1456. // Define a new conversion table for the characters.
  1457. LIntExport void OcrChangeChar(const HTuple& OcrHandle, const HTuple& Character);
  1458. // Deallocation of the memory of an OCR classifier.
  1459. LIntExport void CloseOcr(const HTuple& OcrHandle);
  1460. // Sorting of regions with respect to their relative position.
  1461. LIntExport void SortRegion(const HObject& Regions, HObject* SortedRegions, const HTuple& SortMode, const HTuple& Order, const HTuple& RowOrCol);
  1462. // This operator is inoperable. It had the following function: Destroy all OCR classifiers.
  1463. LIntExport void CloseAllOcrs();
  1464. // Test an OCR classifier.
  1465. LIntExport void TestdOcrClassBox(const HObject& Character, const HObject& Image, const HTuple& OcrHandle, const HTuple& Class, HTuple* Confidence);
  1466. // Cut out an image area relative to the domain.
  1467. LIntExport void CropDomainRel(const HObject& Image, HObject* ImagePart, const HTuple& Top, const HTuple& Left, const HTuple& Bottom, const HTuple& Right);
  1468. // Access the features which correspond to a character.
  1469. LIntExport void OcrGetFeatures(const HObject& Character, const HTuple& OcrHandle, HTuple* FeatureVector);
  1470. // Concat training files.
  1471. LIntExport void ConcatOcrTrainf(const HTuple& SingleFiles, const HTuple& ComposedFile);
  1472. // Write characters into a training file.
  1473. LIntExport void WriteOcrTrainfImage(const HObject& Character, const HTuple& Class, const HTuple& TrainingFile);
  1474. // Add characters to a training file.
  1475. LIntExport void AppendOcrTrainf(const HObject& Character, const HObject& Image, const HTuple& Class, const HTuple& TrainingFile);
  1476. // Query which characters are stored in a (protected) training file.
  1477. LIntExport void ReadOcrTrainfNamesProtected(const HTuple& TrainingFile, const HTuple& Password, HTuple* CharacterNames, HTuple* CharacterCount);
  1478. // Query which characters are stored in a training file.
  1479. LIntExport void ReadOcrTrainfNames(const HTuple& TrainingFile, HTuple* CharacterNames, HTuple* CharacterCount);
  1480. // Read training specific characters from files and convert to images.
  1481. LIntExport void ReadOcrTrainfSelect(HObject* Characters, const HTuple& TrainingFile, const HTuple& SearchNames, HTuple* FoundNames);
  1482. // Read training characters from files and convert to images.
  1483. LIntExport void ReadOcrTrainf(HObject* Characters, const HTuple& TrainingFile, HTuple* CharacterNames);
  1484. // Prune the branches of a region.
  1485. LIntExport void Pruning(const HObject& Region, HObject* RegionPrune, const HTuple& Length);
  1486. // Reduce a region to its boundary.
  1487. LIntExport void Boundary(const HObject& Region, HObject* RegionBorder, const HTuple& BoundaryType);
  1488. // Perform a closing after an opening with multiple structuring elements.
  1489. LIntExport void Fitting(const HObject& Region, const HObject& StructElements, HObject* RegionFitted);
  1490. // Generate standard structuring elements.
  1491. LIntExport void GenStructElements(HObject* StructElements, const HTuple& Type, const HTuple& Row, const HTuple& Column);
  1492. // Reflect a region about a point.
  1493. LIntExport void TransposeRegion(const HObject& Region, HObject* Transposed, const HTuple& Row, const HTuple& Column);
  1494. // Remove the result of a hit-or-miss operation from a region (sequential).
  1495. LIntExport void ThinningSeq(const HObject& Region, HObject* RegionThin, const HTuple& GolayElement, const HTuple& Iterations);
  1496. // Remove the result of a hit-or-miss operation from a region (using a Golay structuring element).
  1497. LIntExport void ThinningGolay(const HObject& Region, HObject* RegionThin, const HTuple& GolayElement, const HTuple& Rotation);
  1498. // Remove the result of a hit-or-miss operation from a region.
  1499. LIntExport void Thinning(const HObject& Region, const HObject& StructElement1, const HObject& StructElement2, HObject* RegionThin, const HTuple& Row, const HTuple& Column, const HTuple& Iterations);
  1500. // Add the result of a hit-or-miss operation to a region (sequential).
  1501. LIntExport void ThickeningSeq(const HObject& Region, HObject* RegionThick, const HTuple& GolayElement, const HTuple& Iterations);
  1502. // Add the result of a hit-or-miss operation to a region (using a Golay structuring element).
  1503. LIntExport void ThickeningGolay(const HObject& Region, HObject* RegionThick, const HTuple& GolayElement, const HTuple& Rotation);
  1504. // Add the result of a hit-or-miss operation to a region.
  1505. LIntExport void Thickening(const HObject& Region, const HObject& StructElement1, const HObject& StructElement2, HObject* RegionThick, const HTuple& Row, const HTuple& Column, const HTuple& Iterations);
  1506. // Hit-or-miss operation for regions using the Golay alphabet (sequential).
  1507. LIntExport void HitOrMissSeq(const HObject& Region, HObject* RegionHitMiss, const HTuple& GolayElement);
  1508. // Hit-or-miss operation for regions using the Golay alphabet.
  1509. LIntExport void HitOrMissGolay(const HObject& Region, HObject* RegionHitMiss, const HTuple& GolayElement, const HTuple& Rotation);
  1510. // Hit-or-miss operation for regions.
  1511. LIntExport void HitOrMiss(const HObject& Region, const HObject& StructElement1, const HObject& StructElement2, HObject* RegionHitMiss, const HTuple& Row, const HTuple& Column);
  1512. // Generate the structuring elements of the Golay alphabet.
  1513. LIntExport void GolayElements(HObject* StructElement1, HObject* StructElement2, const HTuple& GolayElement, const HTuple& Rotation, const HTuple& Row, const HTuple& Column);
  1514. // Thinning of a region.
  1515. LIntExport void MorphSkiz(const HObject& Region, HObject* RegionSkiz, const HTuple& Iterations1, const HTuple& Iterations2);
  1516. // Compute the morphological skeleton of a region.
  1517. LIntExport void MorphSkeleton(const HObject& Region, HObject* RegionSkeleton);
  1518. // Compute the union of bottom_hat and top_hat.
  1519. LIntExport void MorphHat(const HObject& Region, const HObject& StructElement, HObject* RegionMorphHat);
  1520. // Compute the bottom hat of regions.
  1521. LIntExport void BottomHat(const HObject& Region, const HObject& StructElement, HObject* RegionBottomHat);
  1522. // Compute the top hat of regions.
  1523. LIntExport void TopHat(const HObject& Region, const HObject& StructElement, HObject* RegionTopHat);
  1524. // Erode a region (using a reference point).
  1525. LIntExport void MinkowskiSub2(const HObject& Region, const HObject& StructElement, HObject* RegionMinkSub, const HTuple& Row, const HTuple& Column, const HTuple& Iterations);
  1526. // Erode a region.
  1527. LIntExport void MinkowskiSub1(const HObject& Region, const HObject& StructElement, HObject* RegionMinkSub, const HTuple& Iterations);
  1528. // Dilate a region (using a reference point).
  1529. LIntExport void MinkowskiAdd2(const HObject& Region, const HObject& StructElement, HObject* RegionMinkAdd, const HTuple& Row, const HTuple& Column, const HTuple& Iterations);
  1530. // Perform a Minkowski addition on a region.
  1531. LIntExport void MinkowskiAdd1(const HObject& Region, const HObject& StructElement, HObject* RegionMinkAdd, const HTuple& Iterations);
  1532. // Close a region with a rectangular structuring element.
  1533. LIntExport void ClosingRectangle1(const HObject& Region, HObject* RegionClosing, const HTuple& Width, const HTuple& Height);
  1534. // Close a region with an element from the Golay alphabet.
  1535. LIntExport void ClosingGolay(const HObject& Region, HObject* RegionClosing, const HTuple& GolayElement, const HTuple& Rotation);
  1536. // Close a region with a circular structuring element.
  1537. LIntExport void ClosingCircle(const HObject& Region, HObject* RegionClosing, const HTuple& Radius);
  1538. // Close a region.
  1539. LIntExport void Closing(const HObject& Region, const HObject& StructElement, HObject* RegionClosing);
  1540. // Separate overlapping regions.
  1541. LIntExport void OpeningSeg(const HObject& Region, const HObject& StructElement, HObject* RegionOpening);
  1542. // Open a region with an element from the Golay alphabet.
  1543. LIntExport void OpeningGolay(const HObject& Region, HObject* RegionOpening, const HTuple& GolayElement, const HTuple& Rotation);
  1544. // Open a region with a rectangular structuring element.
  1545. LIntExport void OpeningRectangle1(const HObject& Region, HObject* RegionOpening, const HTuple& Width, const HTuple& Height);
  1546. // Open a region with a circular structuring element.
  1547. LIntExport void OpeningCircle(const HObject& Region, HObject* RegionOpening, const HTuple& Radius);
  1548. // Open a region.
  1549. LIntExport void Opening(const HObject& Region, const HObject& StructElement, HObject* RegionOpening);
  1550. // Erode a region sequentially.
  1551. LIntExport void ErosionSeq(const HObject& Region, HObject* RegionErosion, const HTuple& GolayElement, const HTuple& Iterations);
  1552. // Erode a region with an element from the Golay alphabet.
  1553. LIntExport void ErosionGolay(const HObject& Region, HObject* RegionErosion, const HTuple& GolayElement, const HTuple& Iterations, const HTuple& Rotation);
  1554. // Erode a region with a rectangular structuring element.
  1555. LIntExport void ErosionRectangle1(const HObject& Region, HObject* RegionErosion, const HTuple& Width, const HTuple& Height);
  1556. // Erode a region with a circular structuring element.
  1557. LIntExport void ErosionCircle(const HObject& Region, HObject* RegionErosion, const HTuple& Radius);
  1558. // Erode a region (using a reference point).
  1559. LIntExport void Erosion2(const HObject& Region, const HObject& StructElement, HObject* RegionErosion, const HTuple& Row, const HTuple& Column, const HTuple& Iterations);
  1560. // Erode a region.
  1561. LIntExport void Erosion1(const HObject& Region, const HObject& StructElement, HObject* RegionErosion, const HTuple& Iterations);
  1562. // Dilate a region sequentially.
  1563. LIntExport void DilationSeq(const HObject& Region, HObject* RegionDilation, const HTuple& GolayElement, const HTuple& Iterations);
  1564. // Dilate a region with an element from the Golay alphabet.
  1565. LIntExport void DilationGolay(const HObject& Region, HObject* RegionDilation, const HTuple& GolayElement, const HTuple& Iterations, const HTuple& Rotation);
  1566. // Dilate a region with a rectangular structuring element.
  1567. LIntExport void DilationRectangle1(const HObject& Region, HObject* RegionDilation, const HTuple& Width, const HTuple& Height);
  1568. // Dilate a region with a circular structuring element.
  1569. LIntExport void DilationCircle(const HObject& Region, HObject* RegionDilation, const HTuple& Radius);
  1570. // Dilate a region (using a reference point).
  1571. LIntExport void Dilation2(const HObject& Region, const HObject& StructElement, HObject* RegionDilation, const HTuple& Row, const HTuple& Column, const HTuple& Iterations);
  1572. // Dilate a region.
  1573. LIntExport void Dilation1(const HObject& Region, const HObject& StructElement, HObject* RegionDilation, const HTuple& Iterations);
  1574. // Perform a gray value bottom hat transformation on an image.
  1575. LIntExport void GrayBothat(const HObject& Image, const HObject& SE, HObject* ImageBotHat);
  1576. // Perform a gray value top hat transformation on an image.
  1577. LIntExport void GrayTophat(const HObject& Image, const HObject& SE, HObject* ImageTopHat);
  1578. // Perform a gray value closing on an image.
  1579. LIntExport void GrayClosing(const HObject& Image, const HObject& SE, HObject* ImageClosing);
  1580. // Perform a gray value opening on an image.
  1581. LIntExport void GrayOpening(const HObject& Image, const HObject& SE, HObject* ImageOpening);
  1582. // Perform a gray value dilation on an image.
  1583. LIntExport void GrayDilation(const HObject& Image, const HObject& SE, HObject* ImageDilation);
  1584. // Perform a gray value erosion on an image.
  1585. LIntExport void GrayErosion(const HObject& Image, const HObject& SE, HObject* ImageErosion);
  1586. // Load a structuring element for gray morphology.
  1587. LIntExport void ReadGraySe(HObject* SE, const HTuple& FileName);
  1588. // Generate ellipsoidal structuring elements for gray morphology.
  1589. LIntExport void GenDiscSe(HObject* SE, const HTuple& Type, const HTuple& Width, const HTuple& Height, const HTuple& Smax);
  1590. // Query the model contour of a metrology object in image coordinates.
  1591. LIntExport void GetMetrologyObjectModelContour(HObject* Contour, const HTuple& MetrologyHandle, const HTuple& Index, const HTuple& Resolution);
  1592. // Query the result contour of a metrology object.
  1593. LIntExport void GetMetrologyObjectResultContour(HObject* Contour, const HTuple& MetrologyHandle, const HTuple& Index, const HTuple& Instance, const HTuple& Resolution);
  1594. // Alignment of a metrology model.
  1595. LIntExport void AlignMetrologyModel(const HTuple& MetrologyHandle, const HTuple& Row, const HTuple& Column, const HTuple& Angle);
  1596. // Add a metrology object to a metrology model.
  1597. LIntExport void AddMetrologyObjectGeneric(const HTuple& MetrologyHandle, const HTuple& Shape, const HTuple& ShapeParam, const HTuple& MeasureLength1, const HTuple& MeasureLength2, const HTuple& MeasureSigma, const HTuple& MeasureThreshold, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Index);
  1598. // Get parameters that are valid for the entire metrology model.
  1599. LIntExport void GetMetrologyModelParam(const HTuple& MetrologyHandle, const HTuple& GenParamName, HTuple* GenParamValue);
  1600. // Set parameters that are valid for the entire metrology model.
  1601. LIntExport void SetMetrologyModelParam(const HTuple& MetrologyHandle, const HTuple& GenParamName, const HTuple& GenParamValue);
  1602. // Deserialize a serialized metrology model.
  1603. LIntExport void DeserializeMetrologyModel(const HTuple& SerializedItemHandle, HTuple* MetrologyHandle);
  1604. // Serialize a metrology model.
  1605. LIntExport void SerializeMetrologyModel(const HTuple& MetrologyHandle, HTuple* SerializedItemHandle);
  1606. // Transform metrology objects of a metrology model, e.g. for alignment.
  1607. LIntExport void TransformMetrologyObject(const HTuple& MetrologyHandle, const HTuple& Index, const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Mode);
  1608. // Write a metrology model to a file.
  1609. LIntExport void WriteMetrologyModel(const HTuple& MetrologyHandle, const HTuple& FileName);
  1610. // Read a metrology model from a file.
  1611. LIntExport void ReadMetrologyModel(const HTuple& FileName, HTuple* MetrologyHandle);
  1612. // Copy a metrology model.
  1613. LIntExport void CopyMetrologyModel(const HTuple& MetrologyHandle, const HTuple& Index, HTuple* CopiedMetrologyHandle);
  1614. // Copy metrology metrology objects of a metrology model.
  1615. LIntExport void CopyMetrologyObject(const HTuple& MetrologyHandle, const HTuple& Index, HTuple* CopiedIndices);
  1616. // Get the number of instances of the metrology objects of a metrology model.
  1617. LIntExport void GetMetrologyObjectNumInstances(const HTuple& MetrologyHandle, const HTuple& Index, HTuple* NumInstances);
  1618. // Get the results of the measurement of a metrology model.
  1619. LIntExport void GetMetrologyObjectResult(const HTuple& MetrologyHandle, const HTuple& Index, const HTuple& Instance, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Parameter);
  1620. // Get the measure regions and the results of the edge location for the metrology objects of a metrology model.
  1621. LIntExport void GetMetrologyObjectMeasures(HObject* Contours, const HTuple& MetrologyHandle, const HTuple& Index, const HTuple& Transition, HTuple* Row, HTuple* Column);
  1622. // Measure and fit the geometric shapes of all metrology objects of a metrology model.
  1623. LIntExport void ApplyMetrologyModel(const HObject& Image, const HTuple& MetrologyHandle);
  1624. // Get the indices of the metrology objects of a metrology model.
  1625. LIntExport void GetMetrologyObjectIndices(const HTuple& MetrologyHandle, HTuple* Indices);
  1626. // Reset all fuzzy parameters and fuzzy functions of a metrology model.
  1627. LIntExport void ResetMetrologyObjectFuzzyParam(const HTuple& MetrologyHandle, const HTuple& Index);
  1628. // Reset all parameters of a metrology model.
  1629. LIntExport void ResetMetrologyObjectParam(const HTuple& MetrologyHandle, const HTuple& Index);
  1630. // Get a fuzzy parameter of a metroloy model.
  1631. LIntExport void GetMetrologyObjectFuzzyParam(const HTuple& MetrologyHandle, const HTuple& Index, const HTuple& GenParamName, HTuple* GenParamValue);
  1632. // Get one or several parameters of a metrology model.
  1633. LIntExport void GetMetrologyObjectParam(const HTuple& MetrologyHandle, const HTuple& Index, const HTuple& GenParamName, HTuple* GenParamValue);
  1634. // Set fuzzy parameters or fuzzy functions for a metrology model.
  1635. LIntExport void SetMetrologyObjectFuzzyParam(const HTuple& MetrologyHandle, const HTuple& Index, const HTuple& GenParamName, const HTuple& GenParamValue);
  1636. // Set parameters for the metrology objects of a metrology model.
  1637. LIntExport void SetMetrologyObjectParam(const HTuple& MetrologyHandle, const HTuple& Index, const HTuple& GenParamName, const HTuple& GenParamValue);
  1638. // Add a rectangle to a metrology model.
  1639. LIntExport void AddMetrologyObjectRectangle2Measure(const HTuple& MetrologyHandle, const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Length1, const HTuple& Length2, const HTuple& MeasureLength1, const HTuple& MeasureLength2, const HTuple& MeasureSigma, const HTuple& MeasureThreshold, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Index);
  1640. // Add a line to a metrology model.
  1641. LIntExport void AddMetrologyObjectLineMeasure(const HTuple& MetrologyHandle, const HTuple& RowBegin, const HTuple& ColumnBegin, const HTuple& RowEnd, const HTuple& ColumnEnd, const HTuple& MeasureLength1, const HTuple& MeasureLength2, const HTuple& MeasureSigma, const HTuple& MeasureThreshold, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Index);
  1642. // Add an ellipse or an elliptic arc to a metrology model.
  1643. LIntExport void AddMetrologyObjectEllipseMeasure(const HTuple& MetrologyHandle, const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Radius1, const HTuple& Radius2, const HTuple& MeasureLength1, const HTuple& MeasureLength2, const HTuple& MeasureSigma, const HTuple& MeasureThreshold, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Index);
  1644. // Add a circle or a circular arc to a metrology model.
  1645. LIntExport void AddMetrologyObjectCircleMeasure(const HTuple& MetrologyHandle, const HTuple& Row, const HTuple& Column, const HTuple& Radius, const HTuple& MeasureLength1, const HTuple& MeasureLength2, const HTuple& MeasureSigma, const HTuple& MeasureThreshold, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Index);
  1646. // This operator is inoperable. It had the following function: Delete all metrology models and free the allocated memory.
  1647. LIntExport void ClearAllMetrologyModels();
  1648. // Delete a metrology model and free the allocated memory.
  1649. LIntExport void ClearMetrologyModel(const HTuple& MetrologyHandle);
  1650. // Delete metrology objects and free the allocated memory.
  1651. LIntExport void ClearMetrologyObject(const HTuple& MetrologyHandle, const HTuple& Index);
  1652. // Set the size of the image of metrology objects.
  1653. LIntExport void SetMetrologyModelImageSize(const HTuple& MetrologyHandle, const HTuple& Width, const HTuple& Height);
  1654. // Create the data structure that is needed to measure geometric shapes.
  1655. LIntExport void CreateMetrologyModel(HTuple* MetrologyHandle);
  1656. // Serialize a measure object.
  1657. LIntExport void SerializeMeasure(const HTuple& MeasureHandle, HTuple* SerializedItemHandle);
  1658. // Deserialize a serialized measure object.
  1659. LIntExport void DeserializeMeasure(const HTuple& SerializedItemHandle, HTuple* MeasureHandle);
  1660. // Write a measure object to a file.
  1661. LIntExport void WriteMeasure(const HTuple& MeasureHandle, const HTuple& FileName);
  1662. // Read a measure object from a file.
  1663. LIntExport void ReadMeasure(const HTuple& FileName, HTuple* MeasureHandle);
  1664. // Extracting points with a particular gray value along a rectangle or an annular arc.
  1665. LIntExport void MeasureThresh(const HObject& Image, const HTuple& MeasureHandle, const HTuple& Sigma, const HTuple& Threshold, const HTuple& Select, HTuple* RowThresh, HTuple* ColumnThresh, HTuple* Distance);
  1666. // This operator is inoperable. It had the following function: Delete all measure objects.
  1667. LIntExport void CloseAllMeasures();
  1668. // Delete a measure object.
  1669. LIntExport void CloseMeasure(const HTuple& MeasureHandle);
  1670. // Extract a gray value profile perpendicular to a rectangle or annular arc.
  1671. LIntExport void MeasureProjection(const HObject& Image, const HTuple& MeasureHandle, HTuple* GrayValues);
  1672. // Reset a fuzzy function.
  1673. LIntExport void ResetFuzzyMeasure(const HTuple& MeasureHandle, const HTuple& SetType);
  1674. // Specify a normalized fuzzy function for edge pairs.
  1675. LIntExport void SetFuzzyMeasureNormPair(const HTuple& MeasureHandle, const HTuple& PairSize, const HTuple& SetType, const HTuple& Function);
  1676. // Specify a fuzzy function.
  1677. LIntExport void SetFuzzyMeasure(const HTuple& MeasureHandle, const HTuple& SetType, const HTuple& Function);
  1678. // Extract straight edge pairs perpendicular to a rectangle or an annular arc.
  1679. LIntExport void FuzzyMeasurePairing(const HObject& Image, const HTuple& MeasureHandle, const HTuple& Sigma, const HTuple& AmpThresh, const HTuple& FuzzyThresh, const HTuple& Transition, const HTuple& Pairing, const HTuple& NumPairs, HTuple* RowEdgeFirst, HTuple* ColumnEdgeFirst, HTuple* AmplitudeFirst, HTuple* RowEdgeSecond, HTuple* ColumnEdgeSecond, HTuple* AmplitudeSecond, HTuple* RowPairCenter, HTuple* ColumnPairCenter, HTuple* FuzzyScore, HTuple* IntraDistance);
  1680. // Extract straight edge pairs perpendicular to a rectangle or an annular arc.
  1681. LIntExport void FuzzyMeasurePairs(const HObject& Image, const HTuple& MeasureHandle, const HTuple& Sigma, const HTuple& AmpThresh, const HTuple& FuzzyThresh, const HTuple& Transition, HTuple* RowEdgeFirst, HTuple* ColumnEdgeFirst, HTuple* AmplitudeFirst, HTuple* RowEdgeSecond, HTuple* ColumnEdgeSecond, HTuple* AmplitudeSecond, HTuple* RowEdgeCenter, HTuple* ColumnEdgeCenter, HTuple* FuzzyScore, HTuple* IntraDistance, HTuple* InterDistance);
  1682. // Extract straight edges perpendicular to a rectangle or an annular arc.
  1683. LIntExport void FuzzyMeasurePos(const HObject& Image, const HTuple& MeasureHandle, const HTuple& Sigma, const HTuple& AmpThresh, const HTuple& FuzzyThresh, const HTuple& Transition, HTuple* RowEdge, HTuple* ColumnEdge, HTuple* Amplitude, HTuple* FuzzyScore, HTuple* Distance);
  1684. // Extract straight edge pairs perpendicular to a rectangle or annular arc.
  1685. LIntExport void MeasurePairs(const HObject& Image, const HTuple& MeasureHandle, const HTuple& Sigma, const HTuple& Threshold, const HTuple& Transition, const HTuple& Select, HTuple* RowEdgeFirst, HTuple* ColumnEdgeFirst, HTuple* AmplitudeFirst, HTuple* RowEdgeSecond, HTuple* ColumnEdgeSecond, HTuple* AmplitudeSecond, HTuple* IntraDistance, HTuple* InterDistance);
  1686. // Extract straight edges perpendicular to a rectangle or annular arc.
  1687. LIntExport void MeasurePos(const HObject& Image, const HTuple& MeasureHandle, const HTuple& Sigma, const HTuple& Threshold, const HTuple& Transition, const HTuple& Select, HTuple* RowEdge, HTuple* ColumnEdge, HTuple* Amplitude, HTuple* Distance);
  1688. // Translate a measure object.
  1689. LIntExport void TranslateMeasure(const HTuple& MeasureHandle, const HTuple& Row, const HTuple& Column);
  1690. // Prepare the extraction of straight edges perpendicular to an annular arc.
  1691. LIntExport void GenMeasureArc(const HTuple& CenterRow, const HTuple& CenterCol, const HTuple& Radius, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& AnnulusRadius, const HTuple& Width, const HTuple& Height, const HTuple& Interpolation, HTuple* MeasureHandle);
  1692. // Prepare the extraction of straight edges perpendicular to a rectangle.
  1693. LIntExport void GenMeasureRectangle2(const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Length1, const HTuple& Length2, const HTuple& Width, const HTuple& Height, const HTuple& Interpolation, HTuple* MeasureHandle);
  1694. // Deserialize a serialized matrix.
  1695. LIntExport void DeserializeMatrix(const HTuple& SerializedItemHandle, HTuple* MatrixID);
  1696. // Serialize a matrix.
  1697. LIntExport void SerializeMatrix(const HTuple& MatrixID, HTuple* SerializedItemHandle);
  1698. // Read a matrix from a file.
  1699. LIntExport void ReadMatrix(const HTuple& FileName, HTuple* MatrixID);
  1700. // Write a matrix to a file.
  1701. LIntExport void WriteMatrix(const HTuple& MatrixID, const HTuple& FileFormat, const HTuple& FileName);
  1702. // Perform an orthogonal decomposition of a matrix.
  1703. LIntExport void OrthogonalDecomposeMatrix(const HTuple& MatrixID, const HTuple& DecompositionType, const HTuple& OutputMatricesType, const HTuple& ComputeOrthogonal, HTuple* MatrixOrthogonalID, HTuple* MatrixTriangularID);
  1704. // Decompose a matrix.
  1705. LIntExport void DecomposeMatrix(const HTuple& MatrixID, const HTuple& MatrixType, HTuple* Matrix1ID, HTuple* Matrix2ID);
  1706. // Compute the singular value decomposition of a matrix.
  1707. LIntExport void SvdMatrix(const HTuple& MatrixID, const HTuple& SVDType, const HTuple& ComputeSingularVectors, HTuple* MatrixUID, HTuple* MatrixSID, HTuple* MatrixVID);
  1708. // Compute the generalized eigenvalues and optionally the generalized eigenvectors of general matrices.
  1709. LIntExport void GeneralizedEigenvaluesGeneralMatrix(const HTuple& MatrixAID, const HTuple& MatrixBID, const HTuple& ComputeEigenvectors, HTuple* EigenvaluesRealID, HTuple* EigenvaluesImagID, HTuple* EigenvectorsRealID, HTuple* EigenvectorsImagID);
  1710. // Compute the generalized eigenvalues and optionally generalized eigenvectors of symmetric input matrices.
  1711. LIntExport void GeneralizedEigenvaluesSymmetricMatrix(const HTuple& MatrixAID, const HTuple& MatrixBID, const HTuple& ComputeEigenvectors, HTuple* EigenvaluesID, HTuple* EigenvectorsID);
  1712. // Compute the eigenvalues and optionally the eigenvectors of a general matrix.
  1713. LIntExport void EigenvaluesGeneralMatrix(const HTuple& MatrixID, const HTuple& ComputeEigenvectors, HTuple* EigenvaluesRealID, HTuple* EigenvaluesImagID, HTuple* EigenvectorsRealID, HTuple* EigenvectorsImagID);
  1714. // Compute the eigenvalues and optionally eigenvectors of a symmetric matrix.
  1715. LIntExport void EigenvaluesSymmetricMatrix(const HTuple& MatrixID, const HTuple& ComputeEigenvectors, HTuple* EigenvaluesID, HTuple* EigenvectorsID);
  1716. // Compute the solution of a system of equations.
  1717. LIntExport void SolveMatrix(const HTuple& MatrixLHSID, const HTuple& MatrixLHSType, const HTuple& Epsilon, const HTuple& MatrixRHSID, HTuple* MatrixResultID);
  1718. // Compute the determinant of a matrix.
  1719. LIntExport void DeterminantMatrix(const HTuple& MatrixID, const HTuple& MatrixType, HTuple* Value);
  1720. // Invert a matrix.
  1721. LIntExport void InvertMatrixMod(const HTuple& MatrixID, const HTuple& MatrixType, const HTuple& Epsilon);
  1722. // Invert a matrix.
  1723. LIntExport void InvertMatrix(const HTuple& MatrixID, const HTuple& MatrixType, const HTuple& Epsilon, HTuple* MatrixInvID);
  1724. // Transpose a matrix.
  1725. LIntExport void TransposeMatrixMod(const HTuple& MatrixID);
  1726. // Transpose a matrix.
  1727. LIntExport void TransposeMatrix(const HTuple& MatrixID, HTuple* MatrixTransposedID);
  1728. // Returns the elementwise maximum of a matrix.
  1729. LIntExport void MaxMatrix(const HTuple& MatrixID, const HTuple& MaxType, HTuple* MatrixMaxID);
  1730. // Returns the elementwise minimum of a matrix.
  1731. LIntExport void MinMatrix(const HTuple& MatrixID, const HTuple& MinType, HTuple* MatrixMinID);
  1732. // Compute the power functions of a matrix.
  1733. LIntExport void PowMatrixMod(const HTuple& MatrixID, const HTuple& MatrixType, const HTuple& Power);
  1734. // Compute the power functions of a matrix.
  1735. LIntExport void PowMatrix(const HTuple& MatrixID, const HTuple& MatrixType, const HTuple& Power, HTuple* MatrixPowID);
  1736. // Compute the power functions of the elements of a matrix.
  1737. LIntExport void PowElementMatrixMod(const HTuple& MatrixID, const HTuple& MatrixExpID);
  1738. // Compute the power functions of the elements of a matrix.
  1739. LIntExport void PowElementMatrix(const HTuple& MatrixID, const HTuple& MatrixExpID, HTuple* MatrixPowID);
  1740. // Compute the power functions of the elements of a matrix.
  1741. LIntExport void PowScalarElementMatrixMod(const HTuple& MatrixID, const HTuple& Power);
  1742. // Compute the power functions of the elements of a matrix.
  1743. LIntExport void PowScalarElementMatrix(const HTuple& MatrixID, const HTuple& Power, HTuple* MatrixPowID);
  1744. // Compute the square root values of the elements of a matrix.
  1745. LIntExport void SqrtMatrixMod(const HTuple& MatrixID);
  1746. // Compute the square root values of the elements of a matrix.
  1747. LIntExport void SqrtMatrix(const HTuple& MatrixID, HTuple* MatrixSqrtID);
  1748. // Compute the absolute values of the elements of a matrix.
  1749. LIntExport void AbsMatrixMod(const HTuple& MatrixID);
  1750. // Compute the absolute values of the elements of a matrix.
  1751. LIntExport void AbsMatrix(const HTuple& MatrixID, HTuple* MatrixAbsID);
  1752. // Norm of a matrix.
  1753. LIntExport void NormMatrix(const HTuple& MatrixID, const HTuple& NormType, HTuple* Value);
  1754. // Returns the elementwise mean of a matrix.
  1755. LIntExport void MeanMatrix(const HTuple& MatrixID, const HTuple& MeanType, HTuple* MatrixMeanID);
  1756. // Returns the elementwise sum of a matrix.
  1757. LIntExport void SumMatrix(const HTuple& MatrixID, const HTuple& SumType, HTuple* MatrixSumID);
  1758. // Divide matrices element-by-element.
  1759. LIntExport void DivElementMatrixMod(const HTuple& MatrixAID, const HTuple& MatrixBID);
  1760. // Divide matrices element-by-element.
  1761. LIntExport void DivElementMatrix(const HTuple& MatrixAID, const HTuple& MatrixBID, HTuple* MatrixDivID);
  1762. // Multiply matrices element-by-element.
  1763. LIntExport void MultElementMatrixMod(const HTuple& MatrixAID, const HTuple& MatrixBID);
  1764. // Multiply matrices element-by-element.
  1765. LIntExport void MultElementMatrix(const HTuple& MatrixAID, const HTuple& MatrixBID, HTuple* MatrixMultID);
  1766. // Scale a matrix.
  1767. LIntExport void ScaleMatrixMod(const HTuple& MatrixID, const HTuple& Factor);
  1768. // Scale a matrix.
  1769. LIntExport void ScaleMatrix(const HTuple& MatrixID, const HTuple& Factor, HTuple* MatrixScaledID);
  1770. // Subtract two matrices.
  1771. LIntExport void SubMatrixMod(const HTuple& MatrixAID, const HTuple& MatrixBID);
  1772. // Subtract two matrices.
  1773. LIntExport void SubMatrix(const HTuple& MatrixAID, const HTuple& MatrixBID, HTuple* MatrixSubID);
  1774. // Add two matrices.
  1775. LIntExport void AddMatrixMod(const HTuple& MatrixAID, const HTuple& MatrixBID);
  1776. // Add two matrices.
  1777. LIntExport void AddMatrix(const HTuple& MatrixAID, const HTuple& MatrixBID, HTuple* MatrixSumID);
  1778. // Multiply two matrices.
  1779. LIntExport void MultMatrixMod(const HTuple& MatrixAID, const HTuple& MatrixBID, const HTuple& MultType);
  1780. // Multiply two matrices.
  1781. LIntExport void MultMatrix(const HTuple& MatrixAID, const HTuple& MatrixBID, const HTuple& MultType, HTuple* MatrixMultID);
  1782. // Get the size of a matrix.
  1783. LIntExport void GetSizeMatrix(const HTuple& MatrixID, HTuple* Rows, HTuple* Columns);
  1784. // Repeat a matrix.
  1785. LIntExport void RepeatMatrix(const HTuple& MatrixID, const HTuple& Rows, const HTuple& Columns, HTuple* MatrixRepeatedID);
  1786. // Copy a matrix.
  1787. LIntExport void CopyMatrix(const HTuple& MatrixID, HTuple* MatrixCopyID);
  1788. // Set the diagonal elements of a matrix.
  1789. LIntExport void SetDiagonalMatrix(const HTuple& MatrixID, const HTuple& VectorID, const HTuple& Diagonal);
  1790. // Get the diagonal elements of a matrix.
  1791. LIntExport void GetDiagonalMatrix(const HTuple& MatrixID, const HTuple& Diagonal, HTuple* VectorID);
  1792. // Set a sub-matrix of a matrix.
  1793. LIntExport void SetSubMatrix(const HTuple& MatrixID, const HTuple& MatrixSubID, const HTuple& Row, const HTuple& Column);
  1794. // Get a sub-matrix of a matrix.
  1795. LIntExport void GetSubMatrix(const HTuple& MatrixID, const HTuple& Row, const HTuple& Column, const HTuple& RowsSub, const HTuple& ColumnsSub, HTuple* MatrixSubID);
  1796. // Set all values of a matrix.
  1797. LIntExport void SetFullMatrix(const HTuple& MatrixID, const HTuple& Values);
  1798. // Return all values of a matrix.
  1799. LIntExport void GetFullMatrix(const HTuple& MatrixID, HTuple* Values);
  1800. // Set one or more elements of a matrix.
  1801. LIntExport void SetValueMatrix(const HTuple& MatrixID, const HTuple& Row, const HTuple& Column, const HTuple& Value);
  1802. // Return one ore more elements of a matrix.
  1803. LIntExport void GetValueMatrix(const HTuple& MatrixID, const HTuple& Row, const HTuple& Column, HTuple* Value);
  1804. // This operator is inoperable. It had the following function: Clear all matrices from memory.
  1805. LIntExport void ClearAllMatrices();
  1806. // Free the memory of a matrix.
  1807. LIntExport void ClearMatrix(const HTuple& MatrixID);
  1808. // Create a matrix.
  1809. LIntExport void CreateMatrix(const HTuple& Rows, const HTuple& Columns, const HTuple& Value, HTuple* MatrixID);
  1810. // This operator is inoperable. It had the following function: Free the memory of all sample identifiers.
  1811. LIntExport void ClearAllSampleIdentifiers();
  1812. // Free the memory of a sample identifier.
  1813. LIntExport void ClearSampleIdentifier(const HTuple& SampleIdentifier);
  1814. // Deserialize a serialized sample identifier.
  1815. LIntExport void DeserializeSampleIdentifier(const HTuple& SerializedItemHandle, HTuple* SampleIdentifier);
  1816. // Read a sample identifier from a file.
  1817. LIntExport void ReadSampleIdentifier(const HTuple& FileName, HTuple* SampleIdentifier);
  1818. // Serialize a sample identifier.
  1819. LIntExport void SerializeSampleIdentifier(const HTuple& SampleIdentifier, HTuple* SerializedItemHandle);
  1820. // Write a sample identifier to a file.
  1821. LIntExport void WriteSampleIdentifier(const HTuple& SampleIdentifier, const HTuple& FileName);
  1822. // Identify objects with a sample identifier.
  1823. LIntExport void ApplySampleIdentifier(const HObject& Image, const HTuple& SampleIdentifier, const HTuple& NumResults, const HTuple& RatingThreshold, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* ObjectIdx, HTuple* Rating);
  1824. // Get selected parameters of a sample identifier.
  1825. LIntExport void GetSampleIdentifierParam(const HTuple& SampleIdentifier, const HTuple& GenParamName, HTuple* GenParamValue);
  1826. // Set selected parameters of a sample identifier.
  1827. LIntExport void SetSampleIdentifierParam(const HTuple& SampleIdentifier, const HTuple& GenParamName, const HTuple& GenParamValue);
  1828. // Retrieve information about an object of a sample identifier.
  1829. LIntExport void GetSampleIdentifierObjectInfo(const HTuple& SampleIdentifier, const HTuple& ObjectIdx, const HTuple& InfoName, HTuple* InfoValue);
  1830. // Define a name or a description for an object of a sample identifier.
  1831. LIntExport void SetSampleIdentifierObjectInfo(const HTuple& SampleIdentifier, const HTuple& ObjectIdx, const HTuple& InfoName, const HTuple& InfoValue);
  1832. // Remove training data from a sample identifier.
  1833. LIntExport void RemoveSampleIdentifierTrainingData(const HTuple& SampleIdentifier, const HTuple& ObjectIdx, const HTuple& ObjectSampleIdx);
  1834. // Remove preparation data from a sample identifier.
  1835. LIntExport void RemoveSampleIdentifierPreparationData(const HTuple& SampleIdentifier, const HTuple& ObjectIdx, const HTuple& ObjectSampleIdx);
  1836. // Train a sample identifier.
  1837. LIntExport void TrainSampleIdentifier(const HTuple& SampleIdentifier, const HTuple& GenParamName, const HTuple& GenParamValue);
  1838. // Add training data to an existing sample identifier.
  1839. LIntExport void AddSampleIdentifierTrainingData(const HObject& SampleImage, const HTuple& SampleIdentifier, const HTuple& ObjectIdx, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* ObjectSampleIdx);
  1840. // Adapt the internal data structure of a sample identifier to the objects to be identified.
  1841. LIntExport void PrepareSampleIdentifier(const HTuple& SampleIdentifier, const HTuple& RemovePreparationData, const HTuple& GenParamName, const HTuple& GenParamValue);
  1842. // Add preparation data to an existing sample identifier.
  1843. LIntExport void AddSampleIdentifierPreparationData(const HObject& SampleImage, const HTuple& SampleIdentifier, const HTuple& ObjectIdx, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* ObjectSampleIdx);
  1844. // Create a new sample identifier.
  1845. LIntExport void CreateSampleIdentifier(const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* SampleIdentifier);
  1846. // Deserialize a serialized shape model.
  1847. LIntExport void DeserializeShapeModel(const HTuple& SerializedItemHandle, HTuple* ModelID);
  1848. // Read a shape model from a file.
  1849. LIntExport void ReadShapeModel(const HTuple& FileName, HTuple* ModelID);
  1850. // Serialize a shape model.
  1851. LIntExport void SerializeShapeModel(const HTuple& ModelID, HTuple* SerializedItemHandle);
  1852. // Write a shape model to a file.
  1853. LIntExport void WriteShapeModel(const HTuple& ModelID, const HTuple& FileName);
  1854. // This operator is inoperable. It had the following function: Free the memory of all shape models.
  1855. LIntExport void ClearAllShapeModels();
  1856. // Free the memory of a shape model.
  1857. LIntExport void ClearShapeModel(const HTuple& ModelID);
  1858. // Return the contour representation of a shape model.
  1859. LIntExport void GetShapeModelContours(HObject* ModelContours, const HTuple& ModelID, const HTuple& Level);
  1860. // Determine the parameters of a shape model.
  1861. LIntExport void DetermineShapeModelParams(const HObject& Template, const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& ScaleMin, const HTuple& ScaleMax, const HTuple& Optimization, const HTuple& Metric, const HTuple& Contrast, const HTuple& MinContrast, const HTuple& Parameters, HTuple* ParameterName, HTuple* ParameterValue);
  1862. // Return the parameters of a shape model.
  1863. LIntExport void GetShapeModelParams(const HTuple& ModelID, HTuple* NumLevels, HTuple* AngleStart, HTuple* AngleExtent, HTuple* AngleStep, HTuple* ScaleMin, HTuple* ScaleMax, HTuple* ScaleStep, HTuple* Metric, HTuple* MinContrast);
  1864. // Return the origin (reference point) of a shape model.
  1865. LIntExport void GetShapeModelOrigin(const HTuple& ModelID, HTuple* Row, HTuple* Column);
  1866. // Set the origin (reference point) of a shape model.
  1867. LIntExport void SetShapeModelOrigin(const HTuple& ModelID, const HTuple& Row, const HTuple& Column);
  1868. // Find the best matches of multiple anisotropically scaled shape models.
  1869. LIntExport void FindAnisoShapeModels(const HObject& Image, const HTuple& ModelIDs, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleCMin, const HTuple& ScaleCMax, const HTuple& MinScore, const HTuple& NumMatches, const HTuple& MaxOverlap, const HTuple& SubPixel, const HTuple& NumLevels, const HTuple& Greediness, HTuple* Row, HTuple* Column, HTuple* Angle, HTuple* ScaleR, HTuple* ScaleC, HTuple* Score, HTuple* Model);
  1870. // Find the best matches of multiple isotropically scaled shape models.
  1871. LIntExport void FindScaledShapeModels(const HObject& Image, const HTuple& ModelIDs, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& ScaleMin, const HTuple& ScaleMax, const HTuple& MinScore, const HTuple& NumMatches, const HTuple& MaxOverlap, const HTuple& SubPixel, const HTuple& NumLevels, const HTuple& Greediness, HTuple* Row, HTuple* Column, HTuple* Angle, HTuple* Scale, HTuple* Score, HTuple* Model);
  1872. // Find the best matches of multiple shape models.
  1873. LIntExport void FindShapeModels(const HObject& Image, const HTuple& ModelIDs, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& MinScore, const HTuple& NumMatches, const HTuple& MaxOverlap, const HTuple& SubPixel, const HTuple& NumLevels, const HTuple& Greediness, HTuple* Row, HTuple* Column, HTuple* Angle, HTuple* Score, HTuple* Model);
  1874. // Find the best matches of an anisotropically scaled shape model in an image.
  1875. LIntExport void FindAnisoShapeModel(const HObject& Image, const HTuple& ModelID, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleCMin, const HTuple& ScaleCMax, const HTuple& MinScore, const HTuple& NumMatches, const HTuple& MaxOverlap, const HTuple& SubPixel, const HTuple& NumLevels, const HTuple& Greediness, HTuple* Row, HTuple* Column, HTuple* Angle, HTuple* ScaleR, HTuple* ScaleC, HTuple* Score);
  1876. // Find the best matches of an isotropically scaled shape model in an image.
  1877. LIntExport void FindScaledShapeModel(const HObject& Image, const HTuple& ModelID, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& ScaleMin, const HTuple& ScaleMax, const HTuple& MinScore, const HTuple& NumMatches, const HTuple& MaxOverlap, const HTuple& SubPixel, const HTuple& NumLevels, const HTuple& Greediness, HTuple* Row, HTuple* Column, HTuple* Angle, HTuple* Scale, HTuple* Score);
  1878. // Find the best matches of a shape model in an image.
  1879. LIntExport void FindShapeModel(const HObject& Image, const HTuple& ModelID, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& MinScore, const HTuple& NumMatches, const HTuple& MaxOverlap, const HTuple& SubPixel, const HTuple& NumLevels, const HTuple& Greediness, HTuple* Row, HTuple* Column, HTuple* Angle, HTuple* Score);
  1880. // Set the metric of a shape model that was created from XLD contours.
  1881. LIntExport void SetShapeModelMetric(const HObject& Image, const HTuple& ModelID, const HTuple& HomMat2D, const HTuple& Metric);
  1882. // Set selected parameters of the shape model.
  1883. LIntExport void SetShapeModelParam(const HTuple& ModelID, const HTuple& GenParamName, const HTuple& GenParamValue);
  1884. // Prepare an anisotropically scaled shape model for matching from XLD contours.
  1885. LIntExport void CreateAnisoShapeModelXld(const HObject& Contours, const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& AngleStep, const HTuple& ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleRStep, const HTuple& ScaleCMin, const HTuple& ScaleCMax, const HTuple& ScaleCStep, const HTuple& Optimization, const HTuple& Metric, const HTuple& MinContrast, HTuple* ModelID);
  1886. // Prepare an isotropically scaled shape model for matching from XLD contours.
  1887. LIntExport void CreateScaledShapeModelXld(const HObject& Contours, const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& AngleStep, const HTuple& ScaleMin, const HTuple& ScaleMax, const HTuple& ScaleStep, const HTuple& Optimization, const HTuple& Metric, const HTuple& MinContrast, HTuple* ModelID);
  1888. // Prepare a shape model for matching from XLD contours.
  1889. LIntExport void CreateShapeModelXld(const HObject& Contours, const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& AngleStep, const HTuple& Optimization, const HTuple& Metric, const HTuple& MinContrast, HTuple* ModelID);
  1890. // Prepare an anisotropically scaled shape model for matching.
  1891. LIntExport void CreateAnisoShapeModel(const HObject& Template, const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& AngleStep, const HTuple& ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleRStep, const HTuple& ScaleCMin, const HTuple& ScaleCMax, const HTuple& ScaleCStep, const HTuple& Optimization, const HTuple& Metric, const HTuple& Contrast, const HTuple& MinContrast, HTuple* ModelID);
  1892. // Prepare an isotropically scaled shape model for matching.
  1893. LIntExport void CreateScaledShapeModel(const HObject& Template, const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& AngleStep, const HTuple& ScaleMin, const HTuple& ScaleMax, const HTuple& ScaleStep, const HTuple& Optimization, const HTuple& Metric, const HTuple& Contrast, const HTuple& MinContrast, HTuple* ModelID);
  1894. // Prepare a shape model for matching.
  1895. LIntExport void CreateShapeModel(const HObject& Template, const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& AngleStep, const HTuple& Optimization, const HTuple& Metric, const HTuple& Contrast, const HTuple& MinContrast, HTuple* ModelID);
  1896. // Create the representation of a shape model.
  1897. LIntExport void InspectShapeModel(const HObject& Image, HObject* ModelImages, HObject* ModelRegions, const HTuple& NumLevels, const HTuple& Contrast);
  1898. // This operator is inoperable. It had the following function: Free the memory of all descriptor models in RAM.
  1899. LIntExport void ClearAllDescriptorModels();
  1900. // Free the memory of a descriptor model.
  1901. LIntExport void ClearDescriptorModel(const HTuple& ModelID);
  1902. // Deserialize a descriptor model.
  1903. LIntExport void DeserializeDescriptorModel(const HTuple& SerializedItemHandle, HTuple* ModelID);
  1904. // Serialize a descriptor model.
  1905. LIntExport void SerializeDescriptorModel(const HTuple& ModelID, HTuple* SerializedItemHandle);
  1906. // Read a descriptor model from a file.
  1907. LIntExport void ReadDescriptorModel(const HTuple& FileName, HTuple* ModelID);
  1908. // Write a descriptor model to a file.
  1909. LIntExport void WriteDescriptorModel(const HTuple& ModelID, const HTuple& FileName);
  1910. // Find the best matches of a calibrated descriptor model in an image and return their 3D pose.
  1911. LIntExport void FindCalibDescriptorModel(const HObject& Image, const HTuple& ModelID, const HTuple& DetectorParamName, const HTuple& DetectorParamValue, const HTuple& DescriptorParamName, const HTuple& DescriptorParamValue, const HTuple& MinScore, const HTuple& NumMatches, const HTuple& CamParam, const HTuple& ScoreType, HTuple* Pose, HTuple* Score);
  1912. // Find the best matches of a descriptor model in an image.
  1913. LIntExport void FindUncalibDescriptorModel(const HObject& Image, const HTuple& ModelID, const HTuple& DetectorParamName, const HTuple& DetectorParamValue, const HTuple& DescriptorParamName, const HTuple& DescriptorParamValue, const HTuple& MinScore, const HTuple& NumMatches, const HTuple& ScoreType, HTuple* HomMat2D, HTuple* Score);
  1914. // Query the interest points of the descriptor model or the last processed search image.
  1915. LIntExport void GetDescriptorModelPoints(const HTuple& ModelID, const HTuple& Set, const HTuple& Subset, HTuple* Row, HTuple* Column);
  1916. // Return the parameters of a descriptor model.
  1917. LIntExport void GetDescriptorModelParams(const HTuple& ModelID, HTuple* DetectorType, HTuple* DetectorParamName, HTuple* DetectorParamValue, HTuple* DescriptorParamName, HTuple* DescriptorParamValue);
  1918. // Create a descriptor model for calibrated perspective matching.
  1919. LIntExport void CreateCalibDescriptorModel(const HObject& Template, const HTuple& CamParam, const HTuple& ReferencePose, const HTuple& DetectorType, const HTuple& DetectorParamName, const HTuple& DetectorParamValue, const HTuple& DescriptorParamName, const HTuple& DescriptorParamValue, const HTuple& Seed, HTuple* ModelID);
  1920. // Prepare a descriptor model for interest point matching.
  1921. LIntExport void CreateUncalibDescriptorModel(const HObject& Template, const HTuple& DetectorType, const HTuple& DetectorParamName, const HTuple& DetectorParamValue, const HTuple& DescriptorParamName, const HTuple& DescriptorParamValue, const HTuple& Seed, HTuple* ModelID);
  1922. // Query alphanumerical results that were accumulated during descriptor-based matching.
  1923. LIntExport void GetDescriptorModelResults(const HTuple& ModelID, const HTuple& ObjectID, const HTuple& ResultNames, HTuple* Results);
  1924. // Return the origin of a descriptor model.
  1925. LIntExport void GetDescriptorModelOrigin(const HTuple& ModelID, HTuple* Row, HTuple* Column);
  1926. // Sets the origin of a descriptor model.
  1927. LIntExport void SetDescriptorModelOrigin(const HTuple& ModelID, const HTuple& Row, const HTuple& Column);
  1928. // Return the origin (reference point) of a deformable model.
  1929. LIntExport void GetDeformableModelOrigin(const HTuple& ModelID, HTuple* Row, HTuple* Column);
  1930. // Set the origin (reference point) of a deformable model.
  1931. LIntExport void SetDeformableModelOrigin(const HTuple& ModelID, const HTuple& Row, const HTuple& Column);
  1932. // Set selected parameters of the deformable model.
  1933. LIntExport void SetDeformableModelParam(const HTuple& ModelID, const HTuple& GenParamName, const HTuple& GenParamValue);
  1934. // Return the parameters of a deformable model.
  1935. LIntExport void GetDeformableModelParams(const HTuple& ModelID, const HTuple& GenParamName, HTuple* GenParamValue);
  1936. // Return the contour representation of a deformable model.
  1937. LIntExport void GetDeformableModelContours(HObject* ModelContours, const HTuple& ModelID, const HTuple& Level);
  1938. // Determine the parameters of a deformable model.
  1939. LIntExport void DetermineDeformableModelParams(const HObject& Template, const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& ScaleMin, const HTuple& ScaleMax, const HTuple& Optimization, const HTuple& Metric, const HTuple& Contrast, const HTuple& MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue, const HTuple& Parameters, HTuple* ParameterName, HTuple* ParameterValue);
  1940. // Deserialize a deformable model.
  1941. LIntExport void DeserializeDeformableModel(const HTuple& SerializedItemHandle, HTuple* ModelID);
  1942. // Serialize a deformable model.
  1943. LIntExport void SerializeDeformableModel(const HTuple& ModelID, HTuple* SerializedItemHandle);
  1944. // Read a deformable model from a file.
  1945. LIntExport void ReadDeformableModel(const HTuple& FileName, HTuple* ModelID);
  1946. // Write a deformable model to a file.
  1947. LIntExport void WriteDeformableModel(const HTuple& ModelID, const HTuple& FileName);
  1948. // This operator is inoperable. It had the following function: Free the memory of all deformable models.
  1949. LIntExport void ClearAllDeformableModels();
  1950. // Free the memory of a deformable model.
  1951. LIntExport void ClearDeformableModel(const HTuple& ModelID);
  1952. // Find the best matches of a local deformable model in an image.
  1953. LIntExport void FindLocalDeformableModel(const HObject& Image, HObject* ImageRectified, HObject* VectorField, HObject* DeformedContours, const HTuple& ModelID, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleCMin, const HTuple& ScaleCMax, const HTuple& MinScore, const HTuple& NumMatches, const HTuple& MaxOverlap, const HTuple& NumLevels, const HTuple& Greediness, const HTuple& ResultType, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Score, HTuple* Row, HTuple* Column);
  1954. // Find the best matches of a calibrated deformable model in an image and return their 3D pose.
  1955. LIntExport void FindPlanarCalibDeformableModel(const HObject& Image, const HTuple& ModelID, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleCMin, const HTuple& ScaleCMax, const HTuple& MinScore, const HTuple& NumMatches, const HTuple& MaxOverlap, const HTuple& NumLevels, const HTuple& Greediness, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Pose, HTuple* CovPose, HTuple* Score);
  1956. // Find the best matches of a planar projective invariant deformable model in an image.
  1957. LIntExport void FindPlanarUncalibDeformableModel(const HObject& Image, const HTuple& ModelID, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleCMin, const HTuple& ScaleCMax, const HTuple& MinScore, const HTuple& NumMatches, const HTuple& MaxOverlap, const HTuple& NumLevels, const HTuple& Greediness, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* HomMat2D, HTuple* Score);
  1958. // Set the metric of a local deformable model that was created from XLD contours.
  1959. LIntExport void SetLocalDeformableModelMetric(const HObject& Image, const HObject& VectorField, const HTuple& ModelID, const HTuple& Metric);
  1960. // Set the metric of a planar calibrated deformable model that was created from XLD contours.
  1961. LIntExport void SetPlanarCalibDeformableModelMetric(const HObject& Image, const HTuple& ModelID, const HTuple& Pose, const HTuple& Metric);
  1962. // Set the metric of a planar uncalibrated deformable model that was created from XLD contours.
  1963. LIntExport void SetPlanarUncalibDeformableModelMetric(const HObject& Image, const HTuple& ModelID, const HTuple& HomMat2D, const HTuple& Metric);
  1964. // Prepare a deformable model for local deformable matching from XLD contours.
  1965. LIntExport void CreateLocalDeformableModelXld(const HObject& Contours, const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& AngleStep, const HTuple& ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleRStep, const HTuple& ScaleCMin, const HTuple& ScaleCMax, const HTuple& ScaleCStep, const HTuple& Optimization, const HTuple& Metric, const HTuple& MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* ModelID);
  1966. // Prepare a deformable model for planar calibrated matching from XLD contours.
  1967. LIntExport void CreatePlanarCalibDeformableModelXld(const HObject& Contours, const HTuple& CamParam, const HTuple& ReferencePose, const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& AngleStep, const HTuple& ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleRStep, const HTuple& ScaleCMin, const HTuple& ScaleCMax, const HTuple& ScaleCStep, const HTuple& Optimization, const HTuple& Metric, const HTuple& MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* ModelID);
  1968. // Prepare a deformable model for planar uncalibrated matching from XLD contours.
  1969. LIntExport void CreatePlanarUncalibDeformableModelXld(const HObject& Contours, const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& AngleStep, const HTuple& ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleRStep, const HTuple& ScaleCMin, const HTuple& ScaleCMax, const HTuple& ScaleCStep, const HTuple& Optimization, const HTuple& Metric, const HTuple& MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* ModelID);
  1970. // Creates a deformable model for local, deformable matching.
  1971. LIntExport void CreateLocalDeformableModel(const HObject& Template, const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& AngleStep, const HTuple& ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleRStep, const HTuple& ScaleCMin, const HTuple& ScaleCMax, const HTuple& ScaleCStep, const HTuple& Optimization, const HTuple& Metric, const HTuple& Contrast, const HTuple& MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* ModelID);
  1972. // Create a deformable model for calibrated perspective matching.
  1973. LIntExport void CreatePlanarCalibDeformableModel(const HObject& Template, const HTuple& CamParam, const HTuple& ReferencePose, const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& AngleStep, const HTuple& ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleRStep, const HTuple& ScaleCMin, const HTuple& ScaleCMax, const HTuple& ScaleCStep, const HTuple& Optimization, const HTuple& Metric, const HTuple& Contrast, const HTuple& MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* ModelID);
  1974. // Creates a deformable model for uncalibrated, perspective matching.
  1975. LIntExport void CreatePlanarUncalibDeformableModel(const HObject& Template, const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& AngleStep, const HTuple& ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleRStep, const HTuple& ScaleCMin, const HTuple& ScaleCMax, const HTuple& ScaleCStep, const HTuple& Optimization, const HTuple& Metric, const HTuple& Contrast, const HTuple& MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* ModelID);
  1976. // This operator is inoperable. It had the following function: Free the memory of all NCC models.
  1977. LIntExport void ClearAllNccModels();
  1978. // Free the memory of an NCC model.
  1979. LIntExport void ClearNccModel(const HTuple& ModelID);
  1980. // Deserialize an NCC model.
  1981. LIntExport void DeserializeNccModel(const HTuple& SerializedItemHandle, HTuple* ModelID);
  1982. // Serialize an NCC model.
  1983. LIntExport void SerializeNccModel(const HTuple& ModelID, HTuple* SerializedItemHandle);
  1984. // Read an NCC model from a file.
  1985. LIntExport void ReadNccModel(const HTuple& FileName, HTuple* ModelID);
  1986. // Write an NCC model to a file.
  1987. LIntExport void WriteNccModel(const HTuple& ModelID, const HTuple& FileName);
  1988. // Determine the parameters of an NCC model.
  1989. LIntExport void DetermineNccModelParams(const HObject& Template, const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& Metric, const HTuple& Parameters, HTuple* ParameterName, HTuple* ParameterValue);
  1990. // Return the parameters of an NCC model.
  1991. LIntExport void GetNccModelParams(const HTuple& ModelID, HTuple* NumLevels, HTuple* AngleStart, HTuple* AngleExtent, HTuple* AngleStep, HTuple* Metric);
  1992. // Return the origin (reference point) of an NCC model.
  1993. LIntExport void GetNccModelOrigin(const HTuple& ModelID, HTuple* Row, HTuple* Column);
  1994. // Set the origin (reference point) of an NCC model.
  1995. LIntExport void SetNccModelOrigin(const HTuple& ModelID, const HTuple& Row, const HTuple& Column);
  1996. // Find the best matches of an NCC model in an image.
  1997. LIntExport void FindNccModel(const HObject& Image, const HTuple& ModelID, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& MinScore, const HTuple& NumMatches, const HTuple& MaxOverlap, const HTuple& SubPixel, const HTuple& NumLevels, HTuple* Row, HTuple* Column, HTuple* Angle, HTuple* Score);
  1998. // Set selected parameters of the NCC model.
  1999. LIntExport void SetNccModelParam(const HTuple& ModelID, const HTuple& GenParamName, const HTuple& GenParamValue);
  2000. // Prepare an NCC model for matching.
  2001. LIntExport void CreateNccModel(const HObject& Template, const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& AngleStep, const HTuple& Metric, HTuple* ModelID);
  2002. // Return the components of a found instance of a component model.
  2003. LIntExport void GetFoundComponentModel(HObject* FoundComponents, const HTuple& ComponentModelID, const HTuple& ModelStart, const HTuple& ModelEnd, const HTuple& RowComp, const HTuple& ColumnComp, const HTuple& AngleComp, const HTuple& ScoreComp, const HTuple& ModelComp, const HTuple& ModelMatch, const HTuple& MarkOrientation, HTuple* RowCompInst, HTuple* ColumnCompInst, HTuple* AngleCompInst, HTuple* ScoreCompInst);
  2004. // Find the best matches of a component model in an image.
  2005. LIntExport void FindComponentModel(const HObject& Image, const HTuple& ComponentModelID, const HTuple& RootComponent, const HTuple& AngleStartRoot, const HTuple& AngleExtentRoot, const HTuple& MinScore, const HTuple& NumMatches, const HTuple& MaxOverlap, const HTuple& IfRootNotFound, const HTuple& IfComponentNotFound, const HTuple& PosePrediction, const HTuple& MinScoreComp, const HTuple& SubPixelComp, const HTuple& NumLevelsComp, const HTuple& GreedinessComp, HTuple* ModelStart, HTuple* ModelEnd, HTuple* Score, HTuple* RowComp, HTuple* ColumnComp, HTuple* AngleComp, HTuple* ScoreComp, HTuple* ModelComp);
  2006. // This operator is inoperable. It had the following function: Free the memory of all component models.
  2007. LIntExport void ClearAllComponentModels();
  2008. // Free the memory of a component model.
  2009. LIntExport void ClearComponentModel(const HTuple& ComponentModelID);
  2010. // Return the search tree of a component model.
  2011. LIntExport void GetComponentModelTree(HObject* Tree, HObject* Relations, const HTuple& ComponentModelID, const HTuple& RootComponent, const HTuple& Image, HTuple* StartNode, HTuple* EndNode, HTuple* Row, HTuple* Column, HTuple* Phi, HTuple* Length1, HTuple* Length2, HTuple* AngleStart, HTuple* AngleExtent);
  2012. // Return the parameters of a component model.
  2013. LIntExport void GetComponentModelParams(const HTuple& ComponentModelID, HTuple* MinScoreComp, HTuple* RootRanking, HTuple* ShapeModelIDs);
  2014. // Deserialize a serialized component model.
  2015. LIntExport void DeserializeComponentModel(const HTuple& SerializedItemHandle, HTuple* ComponentModelID);
  2016. // Serialize a component model.
  2017. LIntExport void SerializeComponentModel(const HTuple& ComponentModelID, HTuple* SerializedItemHandle);
  2018. // Read a component model from a file.
  2019. LIntExport void ReadComponentModel(const HTuple& FileName, HTuple* ComponentModelID);
  2020. // Write a component model to a file.
  2021. LIntExport void WriteComponentModel(const HTuple& ComponentModelID, const HTuple& FileName);
  2022. // Prepare a component model for matching based on explicitly specified components and relations.
  2023. LIntExport void CreateComponentModel(const HObject& ModelImage, const HObject& ComponentRegions, const HTuple& VariationRow, const HTuple& VariationColumn, const HTuple& VariationAngle, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& ContrastLowComp, const HTuple& ContrastHighComp, const HTuple& MinSizeComp, const HTuple& MinContrastComp, const HTuple& MinScoreComp, const HTuple& NumLevelsComp, const HTuple& AngleStepComp, const HTuple& OptimizationComp, const HTuple& MetricComp, const HTuple& PregenerationComp, HTuple* ComponentModelID, HTuple* RootRanking);
  2024. // Prepare a component model for matching based on trained components.
  2025. LIntExport void CreateTrainedComponentModel(const HTuple& ComponentTrainingID, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& MinContrastComp, const HTuple& MinScoreComp, const HTuple& NumLevelsComp, const HTuple& AngleStepComp, const HTuple& OptimizationComp, const HTuple& MetricComp, const HTuple& PregenerationComp, HTuple* ComponentModelID, HTuple* RootRanking);
  2026. // This operator is inoperable. It had the following function: Free the memory of all component training results.
  2027. LIntExport void ClearAllTrainingComponents();
  2028. // Free the memory of a component training result.
  2029. LIntExport void ClearTrainingComponents(const HTuple& ComponentTrainingID);
  2030. // Return the relations between the model components that are contained in a training result.
  2031. LIntExport void GetComponentRelations(HObject* Relations, const HTuple& ComponentTrainingID, const HTuple& ReferenceComponent, const HTuple& Image, HTuple* Row, HTuple* Column, HTuple* Phi, HTuple* Length1, HTuple* Length2, HTuple* AngleStart, HTuple* AngleExtent);
  2032. // Return the initial or model components in a certain image.
  2033. LIntExport void GetTrainingComponents(HObject* TrainingComponents, const HTuple& ComponentTrainingID, const HTuple& Components, const HTuple& Image, const HTuple& MarkOrientation, HTuple* Row, HTuple* Column, HTuple* Angle, HTuple* Score);
  2034. // Modify the relations within a training result.
  2035. LIntExport void ModifyComponentRelations(const HTuple& ComponentTrainingID, const HTuple& ReferenceComponent, const HTuple& ToleranceComponent, const HTuple& PositionTolerance, const HTuple& AngleTolerance);
  2036. // Deserialize a component training result.
  2037. LIntExport void DeserializeTrainingComponents(const HTuple& SerializedItemHandle, HTuple* ComponentTrainingID);
  2038. // Serialize a component training result.
  2039. LIntExport void SerializeTrainingComponents(const HTuple& ComponentTrainingID, HTuple* SerializedItemHandle);
  2040. // Read a component training result from a file.
  2041. LIntExport void ReadTrainingComponents(const HTuple& FileName, HTuple* ComponentTrainingID);
  2042. // Write a component training result to a file.
  2043. LIntExport void WriteTrainingComponents(const HTuple& ComponentTrainingID, const HTuple& FileName);
  2044. // Adopt new parameters that are used to create the model components into the training result.
  2045. LIntExport void ClusterModelComponents(const HObject& TrainingImages, HObject* ModelComponents, const HTuple& ComponentTrainingID, const HTuple& AmbiguityCriterion, const HTuple& MaxContourOverlap, const HTuple& ClusterThreshold);
  2046. // Inspect the rigid model components obtained from the training.
  2047. LIntExport void InspectClusteredComponents(HObject* ModelComponents, const HTuple& ComponentTrainingID, const HTuple& AmbiguityCriterion, const HTuple& MaxContourOverlap, const HTuple& ClusterThreshold);
  2048. // Train components and relations for the component-based matching.
  2049. LIntExport void TrainModelComponents(const HObject& ModelImage, const HObject& InitialComponents, const HObject& TrainingImages, HObject* ModelComponents, const HTuple& ContrastLow, const HTuple& ContrastHigh, const HTuple& MinSize, const HTuple& MinScore, const HTuple& SearchRowTol, const HTuple& SearchColumnTol, const HTuple& SearchAngleTol, const HTuple& TrainingEmphasis, const HTuple& AmbiguityCriterion, const HTuple& MaxContourOverlap, const HTuple& ClusterThreshold, HTuple* ComponentTrainingID);
  2050. // Extract the initial components of a component model.
  2051. LIntExport void GenInitialComponents(const HObject& ModelImage, HObject* InitialComponents, const HTuple& ContrastLow, const HTuple& ContrastHigh, const HTuple& MinSize, const HTuple& Mode, const HTuple& GenericName, const HTuple& GenericValue);
  2052. // Get details of a result from deformable surface based matching.
  2053. LIntExport void GetDeformableSurfaceMatchingResult(const HTuple& DeformableSurfaceMatchingResult, const HTuple& ResultName, const HTuple& ResultIndex, HTuple* ResultValue);
  2054. // Free the memory of a deformable surface matching result.
  2055. LIntExport void ClearDeformableSurfaceMatchingResult(const HTuple& DeformableSurfaceMatchingResult);
  2056. // Free the memory of a deformable surface model.
  2057. LIntExport void ClearDeformableSurfaceModel(const HTuple& DeformableSurfaceModel);
  2058. // Deserialize a deformable surface model.
  2059. LIntExport void DeserializeDeformableSurfaceModel(const HTuple& SerializedItemHandle, HTuple* DeformableSurfaceModel);
  2060. // Serialize a deformable surface_model.
  2061. LIntExport void SerializeDeformableSurfaceModel(const HTuple& DeformableSurfaceModel, HTuple* SerializedItemHandle);
  2062. // Read a deformable surface model from a file.
  2063. LIntExport void ReadDeformableSurfaceModel(const HTuple& FileName, HTuple* DeformableSurfaceModel);
  2064. // Write a deformable surface model to a file.
  2065. LIntExport void WriteDeformableSurfaceModel(const HTuple& DeformableSurfaceModel, const HTuple& FileName);
  2066. // Refine the position and deformation of a deformable surface model in a 3D scene.
  2067. LIntExport void RefineDeformableSurfaceModel(const HTuple& DeformableSurfaceModel, const HTuple& ObjectModel3D, const HTuple& RelSamplingDistance, const HTuple& InitialDeformationObjectModel3D, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Score, HTuple* DeformableSurfaceMatchingResult);
  2068. // Find the best match of a deformable surface model in a 3D scene.
  2069. LIntExport void FindDeformableSurfaceModel(const HTuple& DeformableSurfaceModel, const HTuple& ObjectModel3D, const HTuple& RelSamplingDistance, const HTuple& MinScore, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Score, HTuple* DeformableSurfaceMatchingResult);
  2070. // Return the parameters and properties of a deformable surface model.
  2071. LIntExport void GetDeformableSurfaceModelParam(const HTuple& DeformableSurfaceModel, const HTuple& GenParamName, HTuple* GenParamValue);
  2072. // Add a reference point to a deformable surface model.
  2073. LIntExport void AddDeformableSurfaceModelReferencePoint(const HTuple& DeformableSurfaceModel, const HTuple& ReferencePointX, const HTuple& ReferencePointY, const HTuple& ReferencePointZ, HTuple* ReferencePointIndex);
  2074. // Add a sample deformation to a deformable surface model
  2075. LIntExport void AddDeformableSurfaceModelSample(const HTuple& DeformableSurfaceModel, const HTuple& ObjectModel3D);
  2076. // Create the data structure needed to perform deformable surface-based matching.
  2077. LIntExport void CreateDeformableSurfaceModel(const HTuple& ObjectModel3D, const HTuple& RelSamplingDistance, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* DeformableSurfaceModel);
  2078. // Get details of a result from surface based matching.
  2079. LIntExport void GetSurfaceMatchingResult(const HTuple& SurfaceMatchingResultID, const HTuple& ResultName, const HTuple& ResultIndex, HTuple* ResultValue);
  2080. // This operator is inoperable. It had the following function: Free the memory of all surface matching results.
  2081. LIntExport void ClearAllSurfaceMatchingResults();
  2082. // Free the memory of a surface matching result.
  2083. LIntExport void ClearSurfaceMatchingResult(const HTuple& SurfaceMatchingResultID);
  2084. // This operator is inoperable. It had the following function: Free the memory of all surface models.
  2085. LIntExport void ClearAllSurfaceModels();
  2086. // Free the memory of a surface model.
  2087. LIntExport void ClearSurfaceModel(const HTuple& SurfaceModelID);
  2088. // Deserialize a surface model.
  2089. LIntExport void DeserializeSurfaceModel(const HTuple& SerializedItemHandle, HTuple* SurfaceModelID);
  2090. // Serialize a surface_model.
  2091. LIntExport void SerializeSurfaceModel(const HTuple& SurfaceModelID, HTuple* SerializedItemHandle);
  2092. // Read a surface model from a file.
  2093. LIntExport void ReadSurfaceModel(const HTuple& FileName, HTuple* SurfaceModelID);
  2094. // Write a surface model to a file.
  2095. LIntExport void WriteSurfaceModel(const HTuple& SurfaceModelID, const HTuple& FileName);
  2096. // Refine the pose of a surface model in a 3D scene.
  2097. LIntExport void RefineSurfaceModelPose(const HTuple& SurfaceModelID, const HTuple& ObjectModel3D, const HTuple& InitialPose, const HTuple& MinScore, const HTuple& ReturnResultHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Pose, HTuple* Score, HTuple* SurfaceMatchingResultID);
  2098. // Find the best matches of a surface model in a 3D scene.
  2099. LIntExport void FindSurfaceModel(const HTuple& SurfaceModelID, const HTuple& ObjectModel3D, const HTuple& RelSamplingDistance, const HTuple& KeyPointFraction, const HTuple& MinScore, const HTuple& ReturnResultHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Pose, HTuple* Score, HTuple* SurfaceMatchingResultID);
  2100. // Return the parameters and properties of a surface model.
  2101. LIntExport void GetSurfaceModelParam(const HTuple& SurfaceModelID, const HTuple& GenParamName, HTuple* GenParamValue);
  2102. // Create the data structure needed to perform surface-based matching.
  2103. LIntExport void CreateSurfaceModel(const HTuple& ObjectModel3D, const HTuple& RelSamplingDistance, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* SurfaceModelID);
  2104. // Create a 3D camera pose from camera center and viewing direction.
  2105. LIntExport void CreateCamPoseLookAtPoint(const HTuple& CamPosX, const HTuple& CamPosY, const HTuple& CamPosZ, const HTuple& LookAtX, const HTuple& LookAtY, const HTuple& LookAtZ, const HTuple& RefPlaneNormal, const HTuple& CamRoll, HTuple* CamPose);
  2106. // Convert spherical coordinates of a 3D point to Cartesian coordinates.
  2107. LIntExport void ConvertPoint3dSpherToCart(const HTuple& Longitude, const HTuple& Latitude, const HTuple& Radius, const HTuple& EquatPlaneNormal, const HTuple& ZeroMeridian, HTuple* X, HTuple* Y, HTuple* Z);
  2108. // Convert Cartesian coordinates of a 3D point to spherical coordinates.
  2109. LIntExport void ConvertPoint3dCartToSpher(const HTuple& X, const HTuple& Y, const HTuple& Z, const HTuple& EquatPlaneNormal, const HTuple& ZeroMeridian, HTuple* Longitude, HTuple* Latitude, HTuple* Radius);
  2110. // This operator is inoperable. It had the following function: Free the memory of all 3D shape models.
  2111. LIntExport void ClearAllShapeModel3d();
  2112. // Free the memory of a 3D shape model.
  2113. LIntExport void ClearShapeModel3d(const HTuple& ShapeModel3DID);
  2114. // Deserialize a serialized 3D shape model.
  2115. LIntExport void DeserializeShapeModel3d(const HTuple& SerializedItemHandle, HTuple* ShapeModel3DID);
  2116. // Serialize a 3D shape model.
  2117. LIntExport void SerializeShapeModel3d(const HTuple& ShapeModel3DID, HTuple* SerializedItemHandle);
  2118. // Read a 3D shape model from a file.
  2119. LIntExport void ReadShapeModel3d(const HTuple& FileName, HTuple* ShapeModel3DID);
  2120. // Write a 3D shape model to a file.
  2121. LIntExport void WriteShapeModel3d(const HTuple& ShapeModel3DID, const HTuple& FileName);
  2122. // Transform a pose that refers to the coordinate system of a 3D object model to a pose that refers to the reference coordinate system of a 3D shape model and vice versa.
  2123. LIntExport void TransPoseShapeModel3d(const HTuple& ShapeModel3DID, const HTuple& PoseIn, const HTuple& Transformation, HTuple* PoseOut);
  2124. // Project the edges of a 3D shape model into image coordinates.
  2125. LIntExport void ProjectShapeModel3d(HObject* ModelContours, const HTuple& ShapeModel3DID, const HTuple& CamParam, const HTuple& Pose, const HTuple& HiddenSurfaceRemoval, const HTuple& MinFaceAngle);
  2126. // Return the contour representation of a 3D shape model view.
  2127. LIntExport void GetShapeModel3dContours(HObject* ModelContours, const HTuple& ShapeModel3DID, const HTuple& Level, const HTuple& View, HTuple* ViewPose);
  2128. // Return the parameters of a 3D shape model.
  2129. LIntExport void GetShapeModel3dParams(const HTuple& ShapeModel3DID, const HTuple& GenParamName, HTuple* GenParamValue);
  2130. // Find the best matches of a 3D shape model in an image.
  2131. LIntExport void FindShapeModel3d(const HObject& Image, const HTuple& ShapeModel3DID, const HTuple& MinScore, const HTuple& Greediness, const HTuple& NumLevels, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Pose, HTuple* CovPose, HTuple* Score);
  2132. // Prepare a 3D object model for matching.
  2133. LIntExport void CreateShapeModel3d(const HTuple& ObjectModel3D, const HTuple& CamParam, const HTuple& RefRotX, const HTuple& RefRotY, const HTuple& RefRotZ, const HTuple& OrderOfRotation, const HTuple& LongitudeMin, const HTuple& LongitudeMax, const HTuple& LatitudeMin, const HTuple& LatitudeMax, const HTuple& CamRollMin, const HTuple& CamRollMax, const HTuple& DistMin, const HTuple& DistMax, const HTuple& MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* ShapeModel3DID);
  2134. // Simplify a triangulated 3D object model.
  2135. LIntExport void SimplifyObjectModel3d(const HTuple& ObjectModel3D, const HTuple& Method, const HTuple& Amount, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* SimplifiedObjectModel3D);
  2136. // Compute the distances of the points of one 3D object model to another 3D object model.
  2137. LIntExport void DistanceObjectModel3d(const HTuple& ObjectModel3DFrom, const HTuple& ObjectModel3DTo, const HTuple& Pose, const HTuple& MaxDistance, const HTuple& GenParamName, const HTuple& GenParamValue);
  2138. // Combine several 3D object models to a new 3D object model.
  2139. LIntExport void UnionObjectModel3d(const HTuple& ObjectModels3D, const HTuple& Method, HTuple* UnionObjectModel3D);
  2140. // Set attributes of a 3D object model.
  2141. LIntExport void SetObjectModel3dAttribMod(const HTuple& ObjectModel3D, const HTuple& AttribName, const HTuple& AttachExtAttribTo, const HTuple& AttribValues);
  2142. // Set attributes of a 3D object model.
  2143. LIntExport void SetObjectModel3dAttrib(const HTuple& ObjectModel3D, const HTuple& AttribName, const HTuple& AttachExtAttribTo, const HTuple& AttribValues, HTuple* ObjectModel3DOut);
  2144. // Create an empty 3D object model.
  2145. LIntExport void GenEmptyObjectModel3d(HTuple* EmptyObjectModel3D);
  2146. // Sample a 3D object model.
  2147. LIntExport void SampleObjectModel3d(const HTuple& ObjectModel3D, const HTuple& Method, const HTuple& SampleDistance, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* SampledObjectModel3D);
  2148. // Improve the relative transformations between 3D object models based on their overlaps.
  2149. LIntExport void RegisterObjectModel3dGlobal(const HTuple& ObjectModels3D, const HTuple& HomMats3D, const HTuple& From, const HTuple& To, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* HomMats3DOut, HTuple* Scores);
  2150. // Search for a transformation between two 3D object models.
  2151. LIntExport void RegisterObjectModel3dPair(const HTuple& ObjectModel3D1, const HTuple& ObjectModel3D2, const HTuple& Method, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Pose, HTuple* Score);
  2152. // Create a 3D object model that represents a point cloud from a set of 3D points.
  2153. LIntExport void GenObjectModel3dFromPoints(const HTuple& X, const HTuple& Y, const HTuple& Z, HTuple* ObjectModel3D);
  2154. // Create a 3D object model that represents a box.
  2155. LIntExport void GenBoxObjectModel3d(const HTuple& Pose, const HTuple& LengthX, const HTuple& LengthY, const HTuple& LengthZ, HTuple* ObjectModel3D);
  2156. // Create a 3D object model that represents a plane.
  2157. LIntExport void GenPlaneObjectModel3d(const HTuple& Pose, const HTuple& XExtent, const HTuple& YExtent, HTuple* ObjectModel3D);
  2158. // Create a 3D object model that represents a sphere from x,y,z coordinates.
  2159. LIntExport void GenSphereObjectModel3dCenter(const HTuple& X, const HTuple& Y, const HTuple& Z, const HTuple& Radius, HTuple* ObjectModel3D);
  2160. // Create a 3D object model that represents a sphere.
  2161. LIntExport void GenSphereObjectModel3d(const HTuple& Pose, const HTuple& Radius, HTuple* ObjectModel3D);
  2162. // Create a 3D object model that represents a cylinder.
  2163. LIntExport void GenCylinderObjectModel3d(const HTuple& Pose, const HTuple& Radius, const HTuple& MinExtent, const HTuple& MaxExtent, HTuple* ObjectModel3D);
  2164. // Calculate the smallest bounding box around the points of a 3D object model.
  2165. LIntExport void SmallestBoundingBoxObjectModel3d(const HTuple& ObjectModel3D, const HTuple& Type, HTuple* Pose, HTuple* Length1, HTuple* Length2, HTuple* Length3);
  2166. // Calculate the smallest sphere around the points of a 3D object model.
  2167. LIntExport void SmallestSphereObjectModel3d(const HTuple& ObjectModel3D, HTuple* CenterPoint, HTuple* Radius);
  2168. // Intersect a 3D object model with a plane.
  2169. LIntExport void IntersectPlaneObjectModel3d(const HTuple& ObjectModel3D, const HTuple& Plane, HTuple* ObjectModel3DIntersection);
  2170. // Calculate the convex hull of a 3D object model.
  2171. LIntExport void ConvexHullObjectModel3d(const HTuple& ObjectModel3D, HTuple* ObjectModel3DConvexHull);
  2172. // Select 3D object models from an array of 3D object models according to global features.
  2173. LIntExport void SelectObjectModel3d(const HTuple& ObjectModel3D, const HTuple& Feature, const HTuple& Operation, const HTuple& MinValue, const HTuple& MaxValue, HTuple* ObjectModel3DSelected);
  2174. // Calculate the area of all faces of a 3D object model.
  2175. LIntExport void AreaObjectModel3d(const HTuple& ObjectModel3D, HTuple* Area);
  2176. // Calculate the maximal diameter of a 3D object model.
  2177. LIntExport void MaxDiameterObjectModel3d(const HTuple& ObjectModel3D, HTuple* Diameter);
  2178. // Calculates the mean or the central moment of second order for a 3D object model.
  2179. LIntExport void MomentsObjectModel3d(const HTuple& ObjectModel3D, const HTuple& MomentsToCalculate, HTuple* Moments);
  2180. // Calculate the volume of a 3D object model.
  2181. LIntExport void VolumeObjectModel3dRelativeToPlane(const HTuple& ObjectModel3D, const HTuple& Plane, const HTuple& Mode, const HTuple& UseFaceOrientation, HTuple* Volume);
  2182. // Remove points from a 3D object model by projecting it to a virtual view and removing all points outside of a given region.
  2183. LIntExport void ReduceObjectModel3dByView(const HObject& Region, const HTuple& ObjectModel3D, const HTuple& CamParam, const HTuple& Pose, HTuple* ObjectModel3DReduced);
  2184. // Determine the connected components of the 3D object model.
  2185. LIntExport void ConnectionObjectModel3d(const HTuple& ObjectModel3D, const HTuple& Feature, const HTuple& Value, HTuple* ObjectModel3DConnected);
  2186. // Apply a threshold to an attribute of 3D object models.
  2187. LIntExport void SelectPointsObjectModel3d(const HTuple& ObjectModel3D, const HTuple& Attrib, const HTuple& MinValue, const HTuple& MaxValue, HTuple* ObjectModel3DThresholded);
  2188. // Get the depth or the index of a displayed 3D object model.
  2189. LIntExport void GetDispObjectModel3dInfo(const HTuple& WindowHandle, const HTuple& Row, const HTuple& Column, const HTuple& Information, HTuple* Value);
  2190. // Render 3D object models to get an image.
  2191. LIntExport void RenderObjectModel3d(HObject* Image, const HTuple& ObjectModel3D, const HTuple& CamParam, const HTuple& Pose, const HTuple& GenParamName, const HTuple& GenParamValue);
  2192. // Display 3D object models.
  2193. LIntExport void DispObjectModel3d(const HTuple& WindowHandle, const HTuple& ObjectModel3D, const HTuple& CamParam, const HTuple& Pose, const HTuple& GenParamName, const HTuple& GenParamValue);
  2194. // Copy a 3D object model.
  2195. LIntExport void CopyObjectModel3d(const HTuple& ObjectModel3D, const HTuple& Attributes, HTuple* CopiedObjectModel3D);
  2196. // Prepare a 3D object model for a certain operation.
  2197. LIntExport void PrepareObjectModel3d(const HTuple& ObjectModel3D, const HTuple& Purpose, const HTuple& OverwriteData, const HTuple& GenParamName, const HTuple& GenParamValue);
  2198. // Transform 3D points from a 3D object model to images.
  2199. LIntExport void ObjectModel3dToXyz(HObject* X, HObject* Y, HObject* Z, const HTuple& ObjectModel3D, const HTuple& Type, const HTuple& CamParam, const HTuple& Pose);
  2200. // Transform 3D points from images to a 3D object model.
  2201. LIntExport void XyzToObjectModel3d(const HObject& X, const HObject& Y, const HObject& Z, HTuple* ObjectModel3D);
  2202. // Return attributes of 3D object models.
  2203. LIntExport void GetObjectModel3dParams(const HTuple& ObjectModel3D, const HTuple& GenParamName, HTuple* GenParamValue);
  2204. // Project a 3D object model into image coordinates.
  2205. LIntExport void ProjectObjectModel3d(HObject* ModelContours, const HTuple& ObjectModel3D, const HTuple& CamParam, const HTuple& Pose, const HTuple& GenParamName, const HTuple& GenParamValue);
  2206. // Apply a rigid 3D transformation to 3D object models.
  2207. LIntExport void RigidTransObjectModel3d(const HTuple& ObjectModel3D, const HTuple& Pose, HTuple* ObjectModel3DRigidTrans);
  2208. // Apply an arbitrary projective 3D transformation to 3D object models.
  2209. LIntExport void ProjectiveTransObjectModel3d(const HTuple& ObjectModel3D, const HTuple& HomMat3D, HTuple* ObjectModel3DProjectiveTrans);
  2210. // Apply an arbitrary affine 3D transformation to 3D object models.
  2211. LIntExport void AffineTransObjectModel3d(const HTuple& ObjectModel3D, const HTuple& HomMat3D, HTuple* ObjectModel3DAffineTrans);
  2212. // This operator is inoperable. It had the following function: Free the memory of all 3D object models.
  2213. LIntExport void ClearAllObjectModel3d();
  2214. // Free the memory of a 3D object model.
  2215. LIntExport void ClearObjectModel3d(const HTuple& ObjectModel3D);
  2216. // Serialize a 3D object model.
  2217. LIntExport void SerializeObjectModel3d(const HTuple& ObjectModel3D, HTuple* SerializedItemHandle);
  2218. // Deserialize a serialized 3D object model.
  2219. LIntExport void DeserializeObjectModel3d(const HTuple& SerializedItemHandle, HTuple* ObjectModel3D);
  2220. // Writes a 3D object model to a file.
  2221. LIntExport void WriteObjectModel3d(const HTuple& ObjectModel3D, const HTuple& FileType, const HTuple& FileName, const HTuple& GenParamName, const HTuple& GenParamValue);
  2222. // Read a 3D object model from a file.
  2223. LIntExport void ReadObjectModel3d(const HTuple& FileName, const HTuple& Scale, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* ObjectModel3D, HTuple* Status);
  2224. // Read the description file of a Kalman filter.
  2225. LIntExport void ReadKalman(const HTuple& FileName, HTuple* Dimension, HTuple* Model, HTuple* Measurement, HTuple* Prediction);
  2226. // Read an update file of a Kalman filter.
  2227. LIntExport void UpdateKalman(const HTuple& FileName, const HTuple& DimensionIn, const HTuple& ModelIn, const HTuple& MeasurementIn, HTuple* DimensionOut, HTuple* ModelOut, HTuple* MeasurementOut);
  2228. // Estimate the current state of a system with the help of the Kalman filtering.
  2229. LIntExport void FilterKalman(const HTuple& Dimension, const HTuple& Model, const HTuple& Measurement, const HTuple& PredictionIn, HTuple* PredictionOut, HTuple* Estimate);
  2230. // Query slots concerning information with relation to the operator get_operator_info.
  2231. LIntExport void QueryOperatorInfo(HTuple* Slots);
  2232. // Query slots of the online-information concerning the operator get_param_info.
  2233. LIntExport void QueryParamInfo(HTuple* Slots);
  2234. // Get operators with the given string as a substring of their name.
  2235. LIntExport void GetOperatorName(const HTuple& Pattern, HTuple* OperatorNames);
  2236. // Get default data type for the control parameters of a HALCON-operator.
  2237. LIntExport void GetParamTypes(const HTuple& OperatorName, HTuple* InpCtrlParType, HTuple* OutpCtrlParType);
  2238. // Get number of the different parameter classes of a HALCON-operator.
  2239. LIntExport void GetParamNum(const HTuple& OperatorName, HTuple* CName, HTuple* InpObjPar, HTuple* OutpObjPar, HTuple* InpCtrlPar, HTuple* OutpCtrlPar, HTuple* Type);
  2240. // Get the names of the parameters of a HALCON-operator.
  2241. LIntExport void GetParamNames(const HTuple& OperatorName, HTuple* InpObjPar, HTuple* OutpObjPar, HTuple* InpCtrlPar, HTuple* OutpCtrlPar);
  2242. // Get information concerning a HALCON-operator.
  2243. LIntExport void GetOperatorInfo(const HTuple& OperatorName, const HTuple& Slot, HTuple* Information);
  2244. // Get information concerning the operator parameters.
  2245. LIntExport void GetParamInfo(const HTuple& OperatorName, const HTuple& ParamName, const HTuple& Slot, HTuple* Information);
  2246. // Search names of all operators assigned to one keyword.
  2247. LIntExport void SearchOperator(const HTuple& Keyword, HTuple* OperatorNames);
  2248. // Get keywords which are assigned to operators.
  2249. LIntExport void GetKeywords(const HTuple& OperatorName, HTuple* Keywords);
  2250. // Get information concerning the chapters on operators.
  2251. LIntExport void GetChapterInfo(const HTuple& Chapter, HTuple* Info);
  2252. // Convert one-channel images into a multi-channel image
  2253. LIntExport void ChannelsToImage(const HObject& Images, HObject* MultiChannelImage);
  2254. // Convert a multi-channel image into One-channel images
  2255. LIntExport void ImageToChannels(const HObject& MultiChannelImage, HObject* Images);
  2256. // Convert 7 images into a seven-channel image.
  2257. LIntExport void Compose7(const HObject& Image1, const HObject& Image2, const HObject& Image3, const HObject& Image4, const HObject& Image5, const HObject& Image6, const HObject& Image7, HObject* MultiChannelImage);
  2258. // Convert 6 images into a six-channel image.
  2259. LIntExport void Compose6(const HObject& Image1, const HObject& Image2, const HObject& Image3, const HObject& Image4, const HObject& Image5, const HObject& Image6, HObject* MultiChannelImage);
  2260. // Convert 5 images into a five-channel image.
  2261. LIntExport void Compose5(const HObject& Image1, const HObject& Image2, const HObject& Image3, const HObject& Image4, const HObject& Image5, HObject* MultiChannelImage);
  2262. // Convert 4 images into a four-channel image.
  2263. LIntExport void Compose4(const HObject& Image1, const HObject& Image2, const HObject& Image3, const HObject& Image4, HObject* MultiChannelImage);
  2264. // Convert 3 images into a three-channel image.
  2265. LIntExport void Compose3(const HObject& Image1, const HObject& Image2, const HObject& Image3, HObject* MultiChannelImage);
  2266. // Convert two images into a two-channel image.
  2267. LIntExport void Compose2(const HObject& Image1, const HObject& Image2, HObject* MultiChannelImage);
  2268. // Convert a seven-channel image into seven images.
  2269. LIntExport void Decompose7(const HObject& MultiChannelImage, HObject* Image1, HObject* Image2, HObject* Image3, HObject* Image4, HObject* Image5, HObject* Image6, HObject* Image7);
  2270. // Convert a six-channel image into six images.
  2271. LIntExport void Decompose6(const HObject& MultiChannelImage, HObject* Image1, HObject* Image2, HObject* Image3, HObject* Image4, HObject* Image5, HObject* Image6);
  2272. // Convert a five-channel image into five images.
  2273. LIntExport void Decompose5(const HObject& MultiChannelImage, HObject* Image1, HObject* Image2, HObject* Image3, HObject* Image4, HObject* Image5);
  2274. // Convert a four-channel image into four images.
  2275. LIntExport void Decompose4(const HObject& MultiChannelImage, HObject* Image1, HObject* Image2, HObject* Image3, HObject* Image4);
  2276. // Convert a three-channel image into three images.
  2277. LIntExport void Decompose3(const HObject& MultiChannelImage, HObject* Image1, HObject* Image2, HObject* Image3);
  2278. // Convert a two-channel image into two images.
  2279. LIntExport void Decompose2(const HObject& MultiChannelImage, HObject* Image1, HObject* Image2);
  2280. // Count channels of image.
  2281. LIntExport void CountChannels(const HObject& MultiChannelImage, HTuple* Channels);
  2282. // Append additional matrices (channels) to the image.
  2283. LIntExport void AppendChannel(const HObject& MultiChannelImage, const HObject& Image, HObject* ImageExtended);
  2284. // Access a channel of a multi-channel image.
  2285. LIntExport void AccessChannel(const HObject& MultiChannelImage, HObject* Image, const HTuple& Channel);
  2286. // Tile multiple image objects into a large image with explicit positioning information.
  2287. LIntExport void TileImagesOffset(const HObject& Images, HObject* TiledImage, const HTuple& OffsetRow, const HTuple& OffsetCol, const HTuple& Row1, const HTuple& Col1, const HTuple& Row2, const HTuple& Col2, const HTuple& Width, const HTuple& Height);
  2288. // Tile multiple image objects into a large image.
  2289. LIntExport void TileImages(const HObject& Images, HObject* TiledImage, const HTuple& NumColumns, const HTuple& TileOrder);
  2290. // Tile multiple images into a large image.
  2291. LIntExport void TileChannels(const HObject& Image, HObject* TiledImage, const HTuple& NumColumns, const HTuple& TileOrder);
  2292. // Cut out of defined gray values.
  2293. LIntExport void CropDomain(const HObject& Image, HObject* ImagePart);
  2294. // Cut out one or more rectangular image areas.
  2295. LIntExport void CropRectangle1(const HObject& Image, HObject* ImagePart, const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2);
  2296. // Cut out one or more rectangular image areas.
  2297. LIntExport void CropPart(const HObject& Image, HObject* ImagePart, const HTuple& Row, const HTuple& Column, const HTuple& Width, const HTuple& Height);
  2298. // Change image size.
  2299. LIntExport void ChangeFormat(const HObject& Image, HObject* ImagePart, const HTuple& Width, const HTuple& Height);
  2300. // Change definition domain of an image.
  2301. LIntExport void ChangeDomain(const HObject& Image, const HObject& NewDomain, HObject* ImageNew);
  2302. // Add gray values to regions.
  2303. LIntExport void AddChannels(const HObject& Regions, const HObject& Image, HObject* GrayRegions);
  2304. // Reduce the domain of an image to a rectangle.
  2305. LIntExport void Rectangle1Domain(const HObject& Image, HObject* ImageReduced, const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2);
  2306. // Reduce the domain of an image.
  2307. LIntExport void ReduceDomain(const HObject& Image, const HObject& Region, HObject* ImageReduced);
  2308. // Expand the domain of an image to maximum.
  2309. LIntExport void FullDomain(const HObject& Image, HObject* ImageFull);
  2310. // Get the domain of an image.
  2311. LIntExport void GetDomain(const HObject& Image, HObject* Domain);
  2312. // centers of circles for a specific radius.
  2313. LIntExport void HoughCircles(const HObject& RegionIn, HObject* RegionOut, const HTuple& Radius, const HTuple& Percent, const HTuple& Mode);
  2314. // Return the Hough-Transform for circles with a given radius.
  2315. LIntExport void HoughCircleTrans(const HObject& Region, HObject* HoughImage, const HTuple& Radius);
  2316. // Detect lines in edge images with the help of the Hough transform using local gradient direction and return them in normal form.
  2317. LIntExport void HoughLinesDir(const HObject& ImageDir, HObject* HoughImage, HObject* Lines, const HTuple& DirectionUncertainty, const HTuple& AngleResolution, const HTuple& Smoothing, const HTuple& FilterSize, const HTuple& Threshold, const HTuple& AngleGap, const HTuple& DistGap, const HTuple& GenLines, HTuple* Angle, HTuple* Dist);
  2318. // Compute the Hough transform for lines using local gradient direction.
  2319. LIntExport void HoughLineTransDir(const HObject& ImageDir, HObject* HoughImage, const HTuple& DirectionUncertainty, const HTuple& AngleResolution);
  2320. // Detect lines in edge images with the help of the Hough transform and returns it in HNF.
  2321. LIntExport void HoughLines(const HObject& RegionIn, const HTuple& AngleResolution, const HTuple& Threshold, const HTuple& AngleGap, const HTuple& DistGap, HTuple* Angle, HTuple* Dist);
  2322. // Produce the Hough transform for lines within regions.
  2323. LIntExport void HoughLineTrans(const HObject& Region, HObject* HoughImage, const HTuple& AngleResolution);
  2324. // Select those lines from a set of lines (in HNF) which fit best into a region.
  2325. LIntExport void SelectMatchingLines(const HObject& RegionIn, HObject* RegionLines, const HTuple& AngleIn, const HTuple& DistIn, const HTuple& LineWidth, const HTuple& Thresh, HTuple* AngleOut, HTuple* DistOut);
  2326. // Segment the rectification grid region in the image.
  2327. LIntExport void FindRectificationGrid(const HObject& Image, HObject* GridRegion, const HTuple& MinContrast, const HTuple& Radius);
  2328. // Generate a PostScript file, which describes the rectification grid.
  2329. LIntExport void CreateRectificationGrid(const HTuple& Width, const HTuple& NumSquares, const HTuple& GridFile);
  2330. // Establish connections between the grid points of the rectification grid.
  2331. LIntExport void ConnectGridPoints(const HObject& Image, HObject* ConnectingLines, const HTuple& Row, const HTuple& Column, const HTuple& Sigma, const HTuple& MaxDist);
  2332. // Compute the mapping between the distorted image and the rectified image based upon the points of a regular grid.
  2333. LIntExport void GenGridRectificationMap(const HObject& Image, const HObject& ConnectingLines, HObject* Map, HObject* Meshes, const HTuple& GridSpacing, const HTuple& Rotation, const HTuple& Row, const HTuple& Column, const HTuple& MapType);
  2334. // Generate a projection map that describes the mapping between an arbitrarily distorted image and the rectified image.
  2335. LIntExport void GenArbitraryDistortionMap(HObject* Map, const HTuple& GridSpacing, const HTuple& Row, const HTuple& Column, const HTuple& GridWidth, const HTuple& ImageWidth, const HTuple& ImageHeight, const HTuple& MapType);
  2336. // Gets a copy of the background image of the HALCON window.
  2337. LIntExport void GetWindowBackgroundImage(HObject* BackgroundImage, const HTuple& WindowHandle);
  2338. // Add a callback function to a drawing object.
  2339. LIntExport void SetDrawingObjectCallback(const HTuple& DrawHandle, const HTuple& DrawObjectEvent, const HTuple& CallbackFunction);
  2340. // Detach the background image from a HALCON window.
  2341. LIntExport void DetachBackgroundFromWindow(const HTuple& WindowHandle);
  2342. // Attach a background image to a HALCON window.
  2343. LIntExport void AttachBackgroundToWindow(const HObject& Image, const HTuple& WindowHandle);
  2344. // Detach an existing drawing object from a HALCON window.
  2345. LIntExport void DetachDrawingObjectFromWindow(const HTuple& WindowHandle, const HTuple& DrawHandle);
  2346. // Attach an existing drawing object to a HALCON window.
  2347. LIntExport void AttachDrawingObjectToWindow(const HTuple& WindowHandle, const HTuple& DrawHandle);
  2348. // Modify the pose of a 3D plot.
  2349. LIntExport void UpdateWindowPose(const HTuple& WindowHandle, const HTuple& LastRow, const HTuple& LastCol, const HTuple& CurrentRow, const HTuple& CurrentCol, const HTuple& Mode);
  2350. // Calculates image coordinates for a point in a 3D plot window.
  2351. LIntExport void UnprojectCoordinates(const HObject& Image, const HTuple& WindowHandle, const HTuple& Row, const HTuple& Column, HTuple* ImageRow, HTuple* ImageColumn, HTuple* Height);
  2352. // Get the operating system window handle.
  2353. LIntExport void GetOsWindowHandle(const HTuple& WindowHandle, HTuple* OSWindowHandle, HTuple* OSDisplayHandle);
  2354. // Set the device context of a virtual graphics window (Windows NT).
  2355. LIntExport void SetWindowDc(const HTuple& WindowHandle, const HTuple& WINHDC);
  2356. // Create a virtual graphics window under Windows.
  2357. LIntExport void NewExternWindow(const HTuple& WINHWnd, const HTuple& Row, const HTuple& Column, const HTuple& Width, const HTuple& Height, HTuple* WindowHandle);
  2358. // Interactive output from two window buffers.
  2359. LIntExport void SlideImage(const HTuple& WindowHandleSource1, const HTuple& WindowHandleSource2, const HTuple& WindowHandle);
  2360. // Specify a window type.
  2361. LIntExport void SetWindowType(const HTuple& WindowType);
  2362. // Modify position and size of a window.
  2363. LIntExport void SetWindowExtents(const HTuple& WindowHandle, const HTuple& Row, const HTuple& Column, const HTuple& Width, const HTuple& Height);
  2364. // Get window characteristics.
  2365. LIntExport void GetWindowAttr(const HTuple& AttributeName, HTuple* AttributeValue);
  2366. // Set window characteristics.
  2367. LIntExport void SetWindowAttr(const HTuple& AttributeName, const HTuple& AttributeValue);
  2368. // Query all available window types.
  2369. LIntExport void QueryWindowType(HTuple* WindowTypes);
  2370. // Open a graphics window.
  2371. LIntExport void OpenWindow(const HTuple& Row, const HTuple& Column, const HTuple& Width, const HTuple& Height, const HTuple& FatherWindow, const HTuple& Mode, const HTuple& Machine, HTuple* WindowHandle);
  2372. // Open a textual window.
  2373. LIntExport void OpenTextwindow(const HTuple& Row, const HTuple& Column, const HTuple& Width, const HTuple& Height, const HTuple& BorderWidth, const HTuple& BorderColor, const HTuple& BackgroundColor, const HTuple& FatherWindow, const HTuple& Mode, const HTuple& Machine, HTuple* WindowHandle);
  2374. // Copy inside an output window.
  2375. LIntExport void MoveRectangle(const HTuple& WindowHandle, const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2, const HTuple& DestRow, const HTuple& DestColumn);
  2376. // Get the window type.
  2377. LIntExport void GetWindowType(const HTuple& WindowHandle, HTuple* WindowType);
  2378. // Access to a window's pixel data.
  2379. LIntExport void GetWindowPointer3(const HTuple& WindowHandle, HTuple* ImageRed, HTuple* ImageGreen, HTuple* ImageBlue, HTuple* Width, HTuple* Height);
  2380. // Information about a window's size and position.
  2381. LIntExport void GetWindowExtents(const HTuple& WindowHandle, HTuple* Row, HTuple* Column, HTuple* Width, HTuple* Height);
  2382. // Write the window content in an image object.
  2383. LIntExport void DumpWindowImage(HObject* Image, const HTuple& WindowHandle);
  2384. // Write the window content to a file.
  2385. LIntExport void DumpWindow(const HTuple& WindowHandle, const HTuple& Device, const HTuple& FileName);
  2386. // Copy all pixels within rectangles between output windows.
  2387. LIntExport void CopyRectangle(const HTuple& WindowHandleSource, const HTuple& WindowHandleDestination, const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2, const HTuple& DestRow, const HTuple& DestColumn);
  2388. // Close an output window.
  2389. LIntExport void CloseWindow(const HTuple& WindowHandle);
  2390. // Delete the contents of an output window.
  2391. LIntExport void ClearWindow(const HTuple& WindowHandle);
  2392. // Delete a rectangle on the output window.
  2393. LIntExport void ClearRectangle(const HTuple& WindowHandle, const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2);
  2394. // Print text in a window.
  2395. LIntExport void WriteString(const HTuple& WindowHandle, const HTuple& String);
  2396. // Set the shape of the text cursor.
  2397. LIntExport void SetTshape(const HTuple& WindowHandle, const HTuple& TextCursor);
  2398. // Set the position of the text cursor.
  2399. LIntExport void SetTposition(const HTuple& WindowHandle, const HTuple& Row, const HTuple& Column);
  2400. // Read a string in a text window.
  2401. LIntExport void ReadString(const HTuple& WindowHandle, const HTuple& InString, const HTuple& Length, HTuple* OutString);
  2402. // Read a character from a window.
  2403. LIntExport void ReadChar(const HTuple& WindowHandle, HTuple* Char, HTuple* Code);
  2404. // Set the position of the text cursor to the beginning of the next line.
  2405. LIntExport void NewLine(const HTuple& WindowHandle);
  2406. // Get the shape of the text cursor.
  2407. LIntExport void GetTshape(const HTuple& WindowHandle, HTuple* TextCursor);
  2408. // Get cursor position.
  2409. LIntExport void GetTposition(const HTuple& WindowHandle, HTuple* Row, HTuple* Column);
  2410. // Get the maximum size of all characters of a font.
  2411. LIntExport void GetFontExtents(const HTuple& WindowHandle, HTuple* MaxAscent, HTuple* MaxDescent, HTuple* MaxWidth, HTuple* MaxHeight);
  2412. // Get the spatial size of a string.
  2413. LIntExport void GetStringExtents(const HTuple& WindowHandle, const HTuple& Values, HTuple* Ascent, HTuple* Descent, HTuple* Width, HTuple* Height);
  2414. // Query the available fonts.
  2415. LIntExport void QueryFont(const HTuple& WindowHandle, HTuple* Font);
  2416. // Query all shapes available for text cursors.
  2417. LIntExport void QueryTshape(const HTuple& WindowHandle, HTuple* TextCursor);
  2418. // Set the font used for text output.
  2419. LIntExport void SetFont(const HTuple& WindowHandle, const HTuple& Font);
  2420. // Get the current font.
  2421. LIntExport void GetFont(const HTuple& WindowHandle, HTuple* Font);
  2422. // Get the depth or the index of instances in a displayed 3D scene.
  2423. LIntExport void GetDisplayScene3dInfo(const HTuple& WindowHandle, const HTuple& Scene3D, const HTuple& Row, const HTuple& Column, const HTuple& Information, HTuple* Value);
  2424. // Set the pose of a 3D scene.
  2425. LIntExport void SetScene3dToWorldPose(const HTuple& Scene3D, const HTuple& ToWorldPose);
  2426. // Set parameters of a 3D scene.
  2427. LIntExport void SetScene3dParam(const HTuple& Scene3D, const HTuple& GenParamName, const HTuple& GenParamValue);
  2428. // Set parameters of a light in a 3D scene.
  2429. LIntExport void SetScene3dLightParam(const HTuple& Scene3D, const HTuple& LightIndex, const HTuple& GenParamName, const HTuple& GenParamValue);
  2430. // Set the pose of an instance in a 3D scene.
  2431. LIntExport void SetScene3dInstancePose(const HTuple& Scene3D, const HTuple& InstanceIndex, const HTuple& Pose);
  2432. // Set parameters of an instance in a 3D scene.
  2433. LIntExport void SetScene3dInstanceParam(const HTuple& Scene3D, const HTuple& InstanceIndex, const HTuple& GenParamName, const HTuple& GenParamValue);
  2434. // Set the pose of a camera in a 3D scene.
  2435. LIntExport void SetScene3dCameraPose(const HTuple& Scene3D, const HTuple& CameraIndex, const HTuple& Pose);
  2436. // Render an image of a 3D scene.
  2437. LIntExport void RenderScene3d(HObject* Image, const HTuple& Scene3D, const HTuple& CameraIndex);
  2438. // Remove a light from a 3D scene.
  2439. LIntExport void RemoveScene3dLight(const HTuple& Scene3D, const HTuple& LightIndex);
  2440. // Remove an object instance from a 3D scene.
  2441. LIntExport void RemoveScene3dInstance(const HTuple& Scene3D, const HTuple& InstanceIndex);
  2442. // Remove a camera from a 3D scene.
  2443. LIntExport void RemoveScene3dCamera(const HTuple& Scene3D, const HTuple& CameraIndex);
  2444. // Display a 3D scene.
  2445. LIntExport void DisplayScene3d(const HTuple& WindowHandle, const HTuple& Scene3D, const HTuple& CameraIndex);
  2446. // Add a light source to a 3D scene.
  2447. LIntExport void AddScene3dLight(const HTuple& Scene3D, const HTuple& LightPosition, const HTuple& LightKind, HTuple* LightIndex);
  2448. // Add an instance of a 3D object model to a 3D scene.
  2449. LIntExport void AddScene3dInstance(const HTuple& Scene3D, const HTuple& ObjectModel3D, const HTuple& Pose, HTuple* InstanceIndex);
  2450. // Add a camera to a 3D scene.
  2451. LIntExport void AddScene3dCamera(const HTuple& Scene3D, const HTuple& CameraParam, HTuple* CameraIndex);
  2452. // Delete a 3D scene and free all allocated memory.
  2453. LIntExport void ClearScene3d(const HTuple& Scene3D);
  2454. // Create the data structure that is needed to visualize collections of 3D objects.
  2455. LIntExport void CreateScene3d(HTuple* Scene3D);
  2456. // Get window parameters.
  2457. LIntExport void GetWindowParam(const HTuple& WindowHandle, const HTuple& Param, HTuple* Value);
  2458. // Set window parameters.
  2459. LIntExport void SetWindowParam(const HTuple& WindowHandle, const HTuple& Param, const HTuple& Value);
  2460. // Define the region output shape.
  2461. LIntExport void SetShape(const HTuple& WindowHandle, const HTuple& Shape);
  2462. // Set the color definition via RGB values.
  2463. LIntExport void SetRgb(const HTuple& WindowHandle, const HTuple& Red, const HTuple& Green, const HTuple& Blue);
  2464. // Define a color lookup table index.
  2465. LIntExport void SetPixel(const HTuple& WindowHandle, const HTuple& Pixel);
  2466. // Define an interpolation method for gray value output.
  2467. LIntExport void SetPartStyle(const HTuple& WindowHandle, const HTuple& Style);
  2468. // Modify the displayed image part.
  2469. LIntExport void SetPart(const HTuple& WindowHandle, const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2);
  2470. // Define the gray value output mode.
  2471. LIntExport void SetPaint(const HTuple& WindowHandle, const HTuple& Mode);
  2472. // Define the line width for region contour output.
  2473. LIntExport void SetLineWidth(const HTuple& WindowHandle, const HTuple& Width);
  2474. // Define a contour output pattern.
  2475. LIntExport void SetLineStyle(const HTuple& WindowHandle, const HTuple& Style);
  2476. // Define the approximation error for contour display.
  2477. LIntExport void SetLineApprox(const HTuple& WindowHandle, const HTuple& Approximation);
  2478. // Define the pixel output function.
  2479. LIntExport void SetInsert(const HTuple& WindowHandle, const HTuple& Mode);
  2480. // Define output colors (HSI-coded).
  2481. LIntExport void SetHsi(const HTuple& WindowHandle, const HTuple& Hue, const HTuple& Saturation, const HTuple& Intensity);
  2482. // Define gray values for region output.
  2483. LIntExport void SetGray(const HTuple& WindowHandle, const HTuple& GrayValues);
  2484. // Define the region fill mode.
  2485. LIntExport void SetDraw(const HTuple& WindowHandle, const HTuple& Mode);
  2486. // Define the image matrix output clipping.
  2487. LIntExport void SetComprise(const HTuple& WindowHandle, const HTuple& Mode);
  2488. // Set multiple output colors.
  2489. LIntExport void SetColored(const HTuple& WindowHandle, const HTuple& NumberOfColors);
  2490. // Set output color.
  2491. LIntExport void SetColor(const HTuple& WindowHandle, const HTuple& Color);
  2492. // Get the current region output shape.
  2493. LIntExport void GetShape(const HTuple& WindowHandle, HTuple* DisplayShape);
  2494. // Get the current color in RGB-coding.
  2495. LIntExport void GetRgb(const HTuple& WindowHandle, HTuple* Red, HTuple* Green, HTuple* Blue);
  2496. // Get the current color lookup table index.
  2497. LIntExport void GetPixel(const HTuple& WindowHandle, HTuple* Pixel);
  2498. // Get the current interpolation mode for gray value display.
  2499. LIntExport void GetPartStyle(const HTuple& WindowHandle, HTuple* Style);
  2500. // Get the image part.
  2501. LIntExport void GetPart(const HTuple& WindowHandle, HTuple* Row1, HTuple* Column1, HTuple* Row2, HTuple* Column2);
  2502. // Get the current display mode for gray values.
  2503. LIntExport void GetPaint(const HTuple& WindowHandle, HTuple* Mode);
  2504. // Get the current line width for contour display.
  2505. LIntExport void GetLineWidth(const HTuple& WindowHandle, HTuple* Width);
  2506. // Get the current graphic mode for contours.
  2507. LIntExport void GetLineStyle(const HTuple& WindowHandle, HTuple* Style);
  2508. // Get the current approximation error for contour display.
  2509. LIntExport void GetLineApprox(const HTuple& WindowHandle, HTuple* Approximation);
  2510. // Get the current display mode.
  2511. LIntExport void GetInsert(const HTuple& WindowHandle, HTuple* Mode);
  2512. // Get the HSI coding of the current color.
  2513. LIntExport void GetHsi(const HTuple& WindowHandle, HTuple* Hue, HTuple* Saturation, HTuple* Intensity);
  2514. // Get the current region fill mode.
  2515. LIntExport void GetDraw(const HTuple& WindowHandle, HTuple* Mode);
  2516. // Get the output treatment of an image matrix.
  2517. LIntExport void GetComprise(const HTuple& WindowHandle, HTuple* Mode);
  2518. // Query the region display modes.
  2519. LIntExport void QueryShape(HTuple* DisplayShape);
  2520. // Query the gray value display modes.
  2521. LIntExport void QueryPaint(const HTuple& WindowHandle, HTuple* Mode);
  2522. // Query the possible line widths.
  2523. LIntExport void QueryLineWidth(HTuple* Min, HTuple* Max);
  2524. // Query the possible graphic modes.
  2525. LIntExport void QueryInsert(const HTuple& WindowHandle, HTuple* Mode);
  2526. // Query the displayable gray values.
  2527. LIntExport void QueryGray(const HTuple& WindowHandle, HTuple* Grayval);
  2528. // Query the number of colors for color output.
  2529. LIntExport void QueryColored(HTuple* PossibleNumberOfColors);
  2530. // Query all color names.
  2531. LIntExport void QueryAllColors(const HTuple& WindowHandle, HTuple* Colors);
  2532. // Query all color names displayable in the window.
  2533. LIntExport void QueryColor(const HTuple& WindowHandle, HTuple* Colors);
  2534. // Query the icon for region output
  2535. LIntExport void GetIcon(HObject* Icon, const HTuple& WindowHandle);
  2536. // Icon definition for region output.
  2537. LIntExport void SetIcon(const HObject& Icon, const HTuple& WindowHandle);
  2538. // Displays regions in a window.
  2539. LIntExport void DispRegion(const HObject& DispRegions, const HTuple& WindowHandle);
  2540. // Displays arbitrarily oriented rectangles.
  2541. LIntExport void DispRectangle2(const HTuple& WindowHandle, const HTuple& CenterRow, const HTuple& CenterCol, const HTuple& Phi, const HTuple& Length1, const HTuple& Length2);
  2542. // Display of rectangles aligned to the coordinate axes.
  2543. LIntExport void DispRectangle1(const HTuple& WindowHandle, const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2);
  2544. // Displays a polyline.
  2545. LIntExport void DispPolygon(const HTuple& WindowHandle, const HTuple& Row, const HTuple& Column);
  2546. // Draws lines in a window.
  2547. LIntExport void DispLine(const HTuple& WindowHandle, const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2);
  2548. // Displays crosses in a window.
  2549. LIntExport void DispCross(const HTuple& WindowHandle, const HTuple& Row, const HTuple& Column, const HTuple& Size, const HTuple& Angle);
  2550. // Displays gray value images.
  2551. LIntExport void DispImage(const HObject& Image, const HTuple& WindowHandle);
  2552. // Displays images with several channels.
  2553. LIntExport void DispChannel(const HObject& MultichannelImage, const HTuple& WindowHandle, const HTuple& Channel);
  2554. // Displays a color (RGB) image
  2555. LIntExport void DispColor(const HObject& ColorImage, const HTuple& WindowHandle);
  2556. // Displays ellipses.
  2557. LIntExport void DispEllipse(const HTuple& WindowHandle, const HTuple& CenterRow, const HTuple& CenterCol, const HTuple& Phi, const HTuple& Radius1, const HTuple& Radius2);
  2558. // Displays a noise distribution.
  2559. LIntExport void DispDistribution(const HTuple& WindowHandle, const HTuple& Distribution, const HTuple& Row, const HTuple& Column, const HTuple& Scale);
  2560. // Displays circles in a window.
  2561. LIntExport void DispCircle(const HTuple& WindowHandle, const HTuple& Row, const HTuple& Column, const HTuple& Radius);
  2562. // Displays arrows in a window.
  2563. LIntExport void DispArrow(const HTuple& WindowHandle, const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2, const HTuple& Size);
  2564. // Displays circular arcs in a window.
  2565. LIntExport void DispArc(const HTuple& WindowHandle, const HTuple& CenterRow, const HTuple& CenterCol, const HTuple& Angle, const HTuple& BeginRow, const HTuple& BeginCol);
  2566. // Displays image objects (image, region, XLD).
  2567. LIntExport void DispObj(const HObject& Object, const HTuple& WindowHandle);
  2568. // Set the current mouse pointer shape.
  2569. LIntExport void SetMshape(const HTuple& WindowHandle, const HTuple& Cursor);
  2570. // Query the current mouse pointer shape.
  2571. LIntExport void GetMshape(const HTuple& WindowHandle, HTuple* Cursor);
  2572. // Query all available mouse pointer shapes.
  2573. LIntExport void QueryMshape(const HTuple& WindowHandle, HTuple* ShapeNames);
  2574. // Query the subpixel mouse position.
  2575. LIntExport void GetMpositionSubPix(const HTuple& WindowHandle, HTuple* Row, HTuple* Column, HTuple* Button);
  2576. // Query the mouse position.
  2577. LIntExport void GetMposition(const HTuple& WindowHandle, HTuple* Row, HTuple* Column, HTuple* Button);
  2578. // Wait until a mouse button is pressed and get the subpixel mouse position.
  2579. LIntExport void GetMbuttonSubPix(const HTuple& WindowHandle, HTuple* Row, HTuple* Column, HTuple* Button);
  2580. // Wait until a mouse button is pressed.
  2581. LIntExport void GetMbutton(const HTuple& WindowHandle, HTuple* Row, HTuple* Column, HTuple* Button);
  2582. // Write look-up-table (lut) as file.
  2583. LIntExport void WriteLut(const HTuple& WindowHandle, const HTuple& FileName);
  2584. // Graphical view of the look-up-table (lut).
  2585. LIntExport void DispLut(const HTuple& WindowHandle, const HTuple& Row, const HTuple& Column, const HTuple& Scale);
  2586. // Query all available look-up-tables (lut).
  2587. LIntExport void QueryLut(const HTuple& WindowHandle, HTuple* LookUpTable);
  2588. // Get modification parameters of look-up-table (lut).
  2589. LIntExport void GetLutStyle(const HTuple& WindowHandle, HTuple* Hue, HTuple* Saturation, HTuple* Intensity);
  2590. // Changing the look-up-table (lut).
  2591. LIntExport void SetLutStyle(const HTuple& WindowHandle, const HTuple& Hue, const HTuple& Saturation, const HTuple& Intensity);
  2592. // Get current look-up-table (lut).
  2593. LIntExport void GetLut(const HTuple& WindowHandle, HTuple* LookUpTable);
  2594. // Set "`look-up-table"' (lut).
  2595. LIntExport void SetLut(const HTuple& WindowHandle, const HTuple& LookUpTable);
  2596. // Get mode of fixing of current look-up-table (lut).
  2597. LIntExport void GetFix(const HTuple& WindowHandle, HTuple* Mode);
  2598. // Set fixing of "`look-up-table"' (lut)
  2599. LIntExport void SetFix(const HTuple& WindowHandle, const HTuple& Mode);
  2600. // Get fixing of "`look-up-table"' (lut) for "`real color images"'
  2601. LIntExport void GetFixedLut(const HTuple& WindowHandle, HTuple* Mode);
  2602. // Fix "`look-up-table"' (lut) for "`real color images"'.
  2603. LIntExport void SetFixedLut(const HTuple& WindowHandle, const HTuple& Mode);
  2604. // Plot a function using gnuplot.
  2605. LIntExport void GnuplotPlotFunct1d(const HTuple& GnuplotFileID, const HTuple& Function);
  2606. // Plot control values using gnuplot.
  2607. LIntExport void GnuplotPlotCtrl(const HTuple& GnuplotFileID, const HTuple& Values);
  2608. // Visualize images using gnuplot.
  2609. LIntExport void GnuplotPlotImage(const HObject& Image, const HTuple& GnuplotFileID, const HTuple& SamplesX, const HTuple& SamplesY, const HTuple& ViewRotX, const HTuple& ViewRotZ, const HTuple& Hidden3D);
  2610. // Close all open gnuplot files or terminate an active gnuplot sub-process.
  2611. LIntExport void GnuplotClose(const HTuple& GnuplotFileID);
  2612. // Open a gnuplot file for visualization of images and control values.
  2613. LIntExport void GnuplotOpenFile(const HTuple& FileName, HTuple* GnuplotFileID);
  2614. // Open a pipe to a gnuplot process for visualization of images and control values.
  2615. LIntExport void GnuplotOpenPipe(HTuple* GnuplotFileID);
  2616. // Create a text object which can be moved interactively.
  2617. LIntExport void CreateDrawingObjectText(const HTuple& Row, const HTuple& Column, const HTuple& String, HTuple* DrawID);
  2618. // Return the iconic object of a drawing object.
  2619. LIntExport void GetDrawingObjectIconic(HObject* Object, const HTuple& DrawID);
  2620. // Delete drawing object.
  2621. LIntExport void ClearDrawingObject(const HTuple& DrawID);
  2622. // Set the parameters of a drawing object.
  2623. LIntExport void SetDrawingObjectParams(const HTuple& DrawID, const HTuple& GenParamName, const HTuple& GenParamValue);
  2624. // Get the parameters of a drawing object.
  2625. LIntExport void GetDrawingObjectParams(const HTuple& DrawID, const HTuple& GenParamName, HTuple* GenParamValue);
  2626. // Set the contour of an interactive draw XLD.
  2627. LIntExport void SetDrawingObjectXld(const HObject& Contour, const HTuple& DrawID);
  2628. // Create a XLD contour which can be modified interactively.
  2629. LIntExport void CreateDrawingObjectXld(const HTuple& Row, const HTuple& Column, HTuple* DrawID);
  2630. // Create a circle sector which can be modified interactively.
  2631. LIntExport void CreateDrawingObjectCircleSector(const HTuple& Row, const HTuple& Column, const HTuple& Radius, const HTuple& StartAngle, const HTuple& EndAngle, HTuple* DrawID);
  2632. // Create an elliptic sector which can be modified interactively.
  2633. LIntExport void CreateDrawingObjectEllipseSector(const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Radius1, const HTuple& Radius2, const HTuple& StartAngle, const HTuple& EndAngle, HTuple* DrawID);
  2634. // Create a line which can be modified interactively.
  2635. LIntExport void CreateDrawingObjectLine(const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2, HTuple* DrawID);
  2636. // Create a circle which can be modified interactively.
  2637. LIntExport void CreateDrawingObjectCircle(const HTuple& Row, const HTuple& Column, const HTuple& Radius, HTuple* DrawID);
  2638. // Create an ellipse which can be modified interactively.
  2639. LIntExport void CreateDrawingObjectEllipse(const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Radius1, const HTuple& Radius2, HTuple* DrawID);
  2640. // Create a rectangle of any orientation which can be modified interactively.
  2641. LIntExport void CreateDrawingObjectRectangle2(const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Length1, const HTuple& Length2, HTuple* DrawID);
  2642. // Create a rectangle parallel to the coordinate axis which can be modified interactively.
  2643. LIntExport void CreateDrawingObjectRectangle1(const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2, HTuple* DrawID);
  2644. // Interactive movement of a region with restriction of positions.
  2645. LIntExport void DragRegion3(const HObject& SourceRegion, const HObject& MaskRegion, HObject* DestinationRegion, const HTuple& WindowHandle, const HTuple& Row, const HTuple& Column);
  2646. // Interactive movement of a region with fixpoint specification.
  2647. LIntExport void DragRegion2(const HObject& SourceRegion, HObject* DestinationRegion, const HTuple& WindowHandle, const HTuple& Row, const HTuple& Column);
  2648. // Interactive moving of a region.
  2649. LIntExport void DragRegion1(const HObject& SourceRegion, HObject* DestinationRegion, const HTuple& WindowHandle);
  2650. // Interactive modification of a NURBS curve using interpolation.
  2651. LIntExport void DrawNurbsInterpMod(HObject* ContOut, const HTuple& WindowHandle, const HTuple& Rotate, const HTuple& Move, const HTuple& Scale, const HTuple& KeepRatio, const HTuple& Edit, const HTuple& Degree, const HTuple& RowsIn, const HTuple& ColsIn, const HTuple& TangentsIn, HTuple* ControlRows, HTuple* ControlCols, HTuple* Knots, HTuple* Rows, HTuple* Cols, HTuple* Tangents);
  2652. // Interactive drawing of a NURBS curve using interpolation.
  2653. LIntExport void DrawNurbsInterp(HObject* ContOut, const HTuple& WindowHandle, const HTuple& Rotate, const HTuple& Move, const HTuple& Scale, const HTuple& KeepRatio, const HTuple& Degree, HTuple* ControlRows, HTuple* ControlCols, HTuple* Knots, HTuple* Rows, HTuple* Cols, HTuple* Tangents);
  2654. // Interactive modification of a NURBS curve.
  2655. LIntExport void DrawNurbsMod(HObject* ContOut, const HTuple& WindowHandle, const HTuple& Rotate, const HTuple& Move, const HTuple& Scale, const HTuple& KeepRatio, const HTuple& Edit, const HTuple& Degree, const HTuple& RowsIn, const HTuple& ColsIn, const HTuple& WeightsIn, HTuple* Rows, HTuple* Cols, HTuple* Weights);
  2656. // Interactive drawing of a NURBS curve.
  2657. LIntExport void DrawNurbs(HObject* ContOut, const HTuple& WindowHandle, const HTuple& Rotate, const HTuple& Move, const HTuple& Scale, const HTuple& KeepRatio, const HTuple& Degree, HTuple* Rows, HTuple* Cols, HTuple* Weights);
  2658. // Interactive modification of a contour.
  2659. LIntExport void DrawXldMod(const HObject& ContIn, HObject* ContOut, const HTuple& WindowHandle, const HTuple& Rotate, const HTuple& Move, const HTuple& Scale, const HTuple& KeepRatio, const HTuple& Edit);
  2660. // Interactive drawing of a contour.
  2661. LIntExport void DrawXld(HObject* ContOut, const HTuple& WindowHandle, const HTuple& Rotate, const HTuple& Move, const HTuple& Scale, const HTuple& KeepRatio);
  2662. // Interactive drawing of any orientated rectangle.
  2663. LIntExport void DrawRectangle2Mod(const HTuple& WindowHandle, const HTuple& RowIn, const HTuple& ColumnIn, const HTuple& PhiIn, const HTuple& Length1In, const HTuple& Length2In, HTuple* Row, HTuple* Column, HTuple* Phi, HTuple* Length1, HTuple* Length2);
  2664. // Interactive drawing of any orientated rectangle.
  2665. LIntExport void DrawRectangle2(const HTuple& WindowHandle, HTuple* Row, HTuple* Column, HTuple* Phi, HTuple* Length1, HTuple* Length2);
  2666. // Draw a rectangle parallel to the coordinate axis.
  2667. LIntExport void DrawRectangle1Mod(const HTuple& WindowHandle, const HTuple& Row1In, const HTuple& Column1In, const HTuple& Row2In, const HTuple& Column2In, HTuple* Row1, HTuple* Column1, HTuple* Row2, HTuple* Column2);
  2668. // Draw a rectangle parallel to the coordinate axis.
  2669. LIntExport void DrawRectangle1(const HTuple& WindowHandle, HTuple* Row1, HTuple* Column1, HTuple* Row2, HTuple* Column2);
  2670. // Draw a point.
  2671. LIntExport void DrawPointMod(const HTuple& WindowHandle, const HTuple& RowIn, const HTuple& ColumnIn, HTuple* Row, HTuple* Column);
  2672. // Draw a point.
  2673. LIntExport void DrawPoint(const HTuple& WindowHandle, HTuple* Row, HTuple* Column);
  2674. // Draw a line.
  2675. LIntExport void DrawLineMod(const HTuple& WindowHandle, const HTuple& Row1In, const HTuple& Column1In, const HTuple& Row2In, const HTuple& Column2In, HTuple* Row1, HTuple* Column1, HTuple* Row2, HTuple* Column2);
  2676. // Draw a line.
  2677. LIntExport void DrawLine(const HTuple& WindowHandle, HTuple* Row1, HTuple* Column1, HTuple* Row2, HTuple* Column2);
  2678. // Interactive drawing of an ellipse.
  2679. LIntExport void DrawEllipseMod(const HTuple& WindowHandle, const HTuple& RowIn, const HTuple& ColumnIn, const HTuple& PhiIn, const HTuple& Radius1In, const HTuple& Radius2In, HTuple* Row, HTuple* Column, HTuple* Phi, HTuple* Radius1, HTuple* Radius2);
  2680. // Interactive drawing of an ellipse.
  2681. LIntExport void DrawEllipse(const HTuple& WindowHandle, HTuple* Row, HTuple* Column, HTuple* Phi, HTuple* Radius1, HTuple* Radius2);
  2682. // Interactive drawing of a circle.
  2683. LIntExport void DrawCircleMod(const HTuple& WindowHandle, const HTuple& RowIn, const HTuple& ColumnIn, const HTuple& RadiusIn, HTuple* Row, HTuple* Column, HTuple* Radius);
  2684. // Interactive drawing of a circle.
  2685. LIntExport void DrawCircle(const HTuple& WindowHandle, HTuple* Row, HTuple* Column, HTuple* Radius);
  2686. // Interactive drawing of a closed region.
  2687. LIntExport void DrawRegion(HObject* Region, const HTuple& WindowHandle);
  2688. // Interactive drawing of a polygon row.
  2689. LIntExport void DrawPolygon(HObject* PolygonRegion, const HTuple& WindowHandle);
  2690. // Calculate the projection of a point onto a line.
  2691. LIntExport void ProjectionPl(const HTuple& Row, const HTuple& Column, const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2, HTuple* RowProj, HTuple* ColProj);
  2692. // Calculate points on the perimeter of an ellipse.
  2693. LIntExport void GetPointsEllipse(const HTuple& Angle, const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Radius1, const HTuple& Radius2, HTuple* RowPoint, HTuple* ColPoint);
  2694. // Calculate the intersection point of two lines.
  2695. LIntExport void IntersectionLl(const HTuple& RowA1, const HTuple& ColumnA1, const HTuple& RowA2, const HTuple& ColumnA2, const HTuple& RowB1, const HTuple& ColumnB1, const HTuple& RowB2, const HTuple& ColumnB2, HTuple* Row, HTuple* Column, HTuple* IsParallel);
  2696. // Calculate the intersection points of two XLD contours
  2697. LIntExport void IntersectionContoursXld(const HObject& Contour1, const HObject& Contour2, const HTuple& IntersectionType, HTuple* Row, HTuple* Column, HTuple* IsOverlapping);
  2698. // Calculate the intersection points of a circle or circular arc and an XLD contour
  2699. LIntExport void IntersectionCircleContourXld(const HObject& Contour, const HTuple& CircleRow, const HTuple& CircleColumn, const HTuple& CircleRadius, const HTuple& CircleStartPhi, const HTuple& CircleEndPhi, const HTuple& CirclePointOrder, HTuple* Row, HTuple* Column);
  2700. // Calculate the intersection points of two circles or circular arcs
  2701. LIntExport void IntersectionCircles(const HTuple& Circle1Row, const HTuple& Circle1Column, const HTuple& Circle1Radius, const HTuple& Circle1StartPhi, const HTuple& Circle1EndPhi, const HTuple& Circle1PointOrder, const HTuple& Circle2Row, const HTuple& Circle2Column, const HTuple& Circle2Radius, const HTuple& Circle2StartPhi, const HTuple& Circle2EndPhi, const HTuple& Circle2PointOrder, HTuple* Row, HTuple* Column, HTuple* IsOverlapping);
  2702. // Calculate the intersection points of a line and an XLD contour
  2703. LIntExport void IntersectionLineContourXld(const HObject& Contour, const HTuple& LineRow1, const HTuple& LineColumn1, const HTuple& LineRow2, const HTuple& LineColumn2, HTuple* Row, HTuple* Column, HTuple* IsOverlapping);
  2704. // Calculate the intersection points of a line and a circle or circular arc
  2705. LIntExport void IntersectionLineCircle(const HTuple& LineRow1, const HTuple& LineColumn1, const HTuple& LineRow2, const HTuple& LineColumn2, const HTuple& CircleRow, const HTuple& CircleColumn, const HTuple& CircleRadius, const HTuple& CircleStartPhi, const HTuple& CircleEndPhi, const HTuple& CirclePointOrder, HTuple* Row, HTuple* Column);
  2706. // Calculate the intersection point of two lines
  2707. LIntExport void IntersectionLines(const HTuple& Line1Row1, const HTuple& Line1Column1, const HTuple& Line1Row2, const HTuple& Line1Column2, const HTuple& Line2Row1, const HTuple& Line2Column1, const HTuple& Line2Row2, const HTuple& Line2Column2, HTuple* Row, HTuple* Column, HTuple* IsOverlapping);
  2708. // Calculate the intersection points of a segment and an XLD contour
  2709. LIntExport void IntersectionSegmentContourXld(const HObject& Contour, const HTuple& SegmentRow1, const HTuple& SegmentColumn1, const HTuple& SegmentRow2, const HTuple& SegmentColumn2, HTuple* Row, HTuple* Column, HTuple* IsOverlapping);
  2710. // Calculate the intersection points of a segment and a circle or circular arc
  2711. LIntExport void IntersectionSegmentCircle(const HTuple& SegmentRow1, const HTuple& SegmentColumn1, const HTuple& SegmentRow2, const HTuple& SegmentColumn2, const HTuple& CircleRow, const HTuple& CircleColumn, const HTuple& CircleRadius, const HTuple& CircleStartPhi, const HTuple& CircleEndPhi, const HTuple& CirclePointOrder, HTuple* Row, HTuple* Column);
  2712. // Calculate the intersection point of a segment and a line
  2713. LIntExport void IntersectionSegmentLine(const HTuple& SegmentRow1, const HTuple& SegmentColumn1, const HTuple& SegmentRow2, const HTuple& SegmentColumn2, const HTuple& LineRow1, const HTuple& LineColumn1, const HTuple& LineRow2, const HTuple& LineColumn2, HTuple* Row, HTuple* Column, HTuple* IsOverlapping);
  2714. // Calculate the intersection point of two line segments
  2715. LIntExport void IntersectionSegments(const HTuple& Segment1Row1, const HTuple& Segment1Column1, const HTuple& Segment1Row2, const HTuple& Segment1Column2, const HTuple& Segment2Row1, const HTuple& Segment2Column1, const HTuple& Segment2Row2, const HTuple& Segment2Column2, HTuple* Row, HTuple* Column, HTuple* IsOverlapping);
  2716. // Clear a XLD distance transform.
  2717. LIntExport void ClearDistanceTransformXld(const HTuple& DistanceTransformID);
  2718. // Determine the pointwise distance of two contours using an XLD distance transform.
  2719. LIntExport void ApplyDistanceTransformXld(const HObject& Contour, HObject* ContourOut, const HTuple& DistanceTransformID);
  2720. // Read an XLD distance transform from a file.
  2721. LIntExport void ReadDistanceTransformXld(const HTuple& FileName, HTuple* DistanceTransformID);
  2722. // Deserialize an XLD distance transform.
  2723. LIntExport void DeserializeDistanceTransformXld(const HTuple& SerializedItemHandle, HTuple* DistanceTransformID);
  2724. // Serialize an XLD distance transform.
  2725. LIntExport void SerializeDistanceTransformXld(const HTuple& DistanceTransformID, HTuple* SerializedItemHandle);
  2726. // Write an XLD distance transform into a file.
  2727. LIntExport void WriteDistanceTransformXld(const HTuple& DistanceTransformID, const HTuple& FileName);
  2728. // Set new parameters for an XLD distance transform.
  2729. LIntExport void SetDistanceTransformXldParam(const HTuple& DistanceTransformID, const HTuple& GenParamName, const HTuple& GenParamValue);
  2730. // Get the parameters used to build an XLD distance transform.
  2731. LIntExport void GetDistanceTransformXldParam(const HTuple& DistanceTransformID, const HTuple& GenParamName, HTuple* GenParamValue);
  2732. // Get the reference contour used to build the XLD distance transform.
  2733. LIntExport void GetDistanceTransformXldContour(HObject* Contour, const HTuple& DistanceTransformID);
  2734. // Create the XLD distance transform.
  2735. LIntExport void CreateDistanceTransformXld(const HObject& Contour, const HTuple& Mode, const HTuple& MaxDistance, HTuple* DistanceTransformID);
  2736. // Calculate the pointwise distance from one contour to another.
  2737. LIntExport void DistanceContoursXld(const HObject& ContourFrom, const HObject& ContourTo, HObject* ContourOut, const HTuple& Mode);
  2738. // Calculate the minimum distance between two contours.
  2739. LIntExport void DistanceCcMin(const HObject& Contour1, const HObject& Contour2, const HTuple& Mode, HTuple* DistanceMin);
  2740. // Calculate the distance between two contours.
  2741. LIntExport void DistanceCc(const HObject& Contour1, const HObject& Contour2, const HTuple& Mode, HTuple* DistanceMin, HTuple* DistanceMax);
  2742. // Calculate the distance between a line segment and one contour.
  2743. LIntExport void DistanceSc(const HObject& Contour, const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2, HTuple* DistanceMin, HTuple* DistanceMax);
  2744. // Calculate the distance between a line and one contour.
  2745. LIntExport void DistanceLc(const HObject& Contour, const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2, HTuple* DistanceMin, HTuple* DistanceMax);
  2746. // Calculate the distance between a point and one contour.
  2747. LIntExport void DistancePc(const HObject& Contour, const HTuple& Row, const HTuple& Column, HTuple* DistanceMin, HTuple* DistanceMax);
  2748. // Calculate the distance between a line segment and one region.
  2749. LIntExport void DistanceSr(const HObject& Region, const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2, HTuple* DistanceMin, HTuple* DistanceMax);
  2750. // Calculate the distance between a line and a region.
  2751. LIntExport void DistanceLr(const HObject& Region, const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2, HTuple* DistanceMin, HTuple* DistanceMax);
  2752. // Calculate the distance between a point and a region.
  2753. LIntExport void DistancePr(const HObject& Region, const HTuple& Row, const HTuple& Column, HTuple* DistanceMin, HTuple* DistanceMax);
  2754. // Calculate the angle between one line and the horizontal axis.
  2755. LIntExport void AngleLx(const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2, HTuple* Angle);
  2756. // Calculate the angle between two lines.
  2757. LIntExport void AngleLl(const HTuple& RowA1, const HTuple& ColumnA1, const HTuple& RowA2, const HTuple& ColumnA2, const HTuple& RowB1, const HTuple& ColumnB1, const HTuple& RowB2, const HTuple& ColumnB2, HTuple* Angle);
  2758. // Calculate the distances between a line segment and a line.
  2759. LIntExport void DistanceSl(const HTuple& RowA1, const HTuple& ColumnA1, const HTuple& RowA2, const HTuple& ColumnA2, const HTuple& RowB1, const HTuple& ColumnB1, const HTuple& RowB2, const HTuple& ColumnB2, HTuple* DistanceMin, HTuple* DistanceMax);
  2760. // Calculate the distances between two line segments.
  2761. LIntExport void DistanceSs(const HTuple& RowA1, const HTuple& ColumnA1, const HTuple& RowA2, const HTuple& ColumnA2, const HTuple& RowB1, const HTuple& ColumnB1, const HTuple& RowB2, const HTuple& ColumnB2, HTuple* DistanceMin, HTuple* DistanceMax);
  2762. // Calculate the distances between a point and a line segment.
  2763. LIntExport void DistancePs(const HTuple& Row, const HTuple& Column, const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2, HTuple* DistanceMin, HTuple* DistanceMax);
  2764. // Calculate the distance between one point and one line.
  2765. LIntExport void DistancePl(const HTuple& Row, const HTuple& Column, const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2, HTuple* Distance);
  2766. // Calculate the distance between two points.
  2767. LIntExport void DistancePp(const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2, HTuple* Distance);
  2768. // Compose two functions.
  2769. LIntExport void ComposeFunct1d(const HTuple& Function1, const HTuple& Function2, const HTuple& Border, HTuple* ComposedFunction);
  2770. // Calculate the inverse of a function.
  2771. LIntExport void InvertFunct1d(const HTuple& Function, HTuple* InverseFunction);
  2772. // Calculate the derivatives of a function.
  2773. LIntExport void DerivateFunct1d(const HTuple& Function, const HTuple& Mode, HTuple* Derivative);
  2774. // Calculate the local minimum and maximum points of a function.
  2775. LIntExport void LocalMinMaxFunct1d(const HTuple& Function, const HTuple& Mode, const HTuple& Interpolation, HTuple* Min, HTuple* Max);
  2776. // Calculate the zero crossings of a function.
  2777. LIntExport void ZeroCrossingsFunct1d(const HTuple& Function, HTuple* ZeroCrossings);
  2778. // Multiplication and addition of the y values.
  2779. LIntExport void ScaleYFunct1d(const HTuple& Function, const HTuple& Mult, const HTuple& Add, HTuple* FunctionScaled);
  2780. // Negation of the y values.
  2781. LIntExport void NegateFunct1d(const HTuple& Function, HTuple* FunctionInverted);
  2782. // Absolute value of the y values.
  2783. LIntExport void AbsFunct1d(const HTuple& Function, HTuple* FunctionAbsolute);
  2784. // Return the value of a function at an arbitrary position.
  2785. LIntExport void GetYValueFunct1d(const HTuple& Function, const HTuple& X, const HTuple& Border, HTuple* Y);
  2786. // Access a function value using the index of the control points.
  2787. LIntExport void GetPairFunct1d(const HTuple& Function, const HTuple& Index, HTuple* X, HTuple* Y);
  2788. // Number of control points of the function.
  2789. LIntExport void NumPointsFunct1d(const HTuple& Function, HTuple* Length);
  2790. // Smallest and largest y value of the function.
  2791. LIntExport void YRangeFunct1d(const HTuple& Function, HTuple* YMin, HTuple* YMax);
  2792. // Smallest and largest x value of the function.
  2793. LIntExport void XRangeFunct1d(const HTuple& Function, HTuple* XMin, HTuple* XMax);
  2794. // Access to the x/y values of a function.
  2795. LIntExport void Funct1dToPairs(const HTuple& Function, HTuple* XValues, HTuple* YValues);
  2796. // Sample a function equidistantly in an interval.
  2797. LIntExport void SampleFunct1d(const HTuple& Function, const HTuple& XMin, const HTuple& XMax, const HTuple& XDist, const HTuple& Border, HTuple* SampledFunction);
  2798. // Transform a function using given transformation parameters.
  2799. LIntExport void TransformFunct1d(const HTuple& Function, const HTuple& Params, HTuple* TransformedFunction);
  2800. // Calculate transformation parameters between two functions.
  2801. LIntExport void MatchFunct1dTrans(const HTuple& Function1, const HTuple& Function2, const HTuple& Border, const HTuple& ParamsConst, const HTuple& UseParams, HTuple* Params, HTuple* ChiSquare, HTuple* Covar);
  2802. // Compute the distance of two functions.
  2803. LIntExport void DistanceFunct1d(const HTuple& Function1, const HTuple& Function2, const HTuple& Mode, const HTuple& Sigma, HTuple* Distance);
  2804. // Smooth an equidistant 1D function with a Gaussian function.
  2805. LIntExport void SmoothFunct1dGauss(const HTuple& Function, const HTuple& Sigma, HTuple* SmoothedFunction);
  2806. // Compute the positive and negative areas of a function.
  2807. LIntExport void IntegrateFunct1d(const HTuple& Function, HTuple* Positive, HTuple* Negative);
  2808. // Read a function from a file.
  2809. LIntExport void ReadFunct1d(const HTuple& FileName, HTuple* Function);
  2810. // Write a function to a file.
  2811. LIntExport void WriteFunct1d(const HTuple& Function, const HTuple& FileName);
  2812. // Create a function from a sequence of y values.
  2813. LIntExport void CreateFunct1dArray(const HTuple& YValues, HTuple* Function);
  2814. // Create a function from a set of (x,y) pairs.
  2815. LIntExport void CreateFunct1dPairs(const HTuple& XValues, const HTuple& YValues, HTuple* Function);
  2816. // Smooth an equidistant 1D function by averaging its values.
  2817. LIntExport void SmoothFunct1dMean(const HTuple& Function, const HTuple& SmoothSize, const HTuple& Iterations, HTuple* SmoothedFunction);
  2818. // Filter an image using a Laws texture filter.
  2819. LIntExport void TextureLaws(const HObject& Image, HObject* ImageTexture, const HTuple& FilterTypes, const HTuple& Shift, const HTuple& FilterSize);
  2820. // Calculate the standard deviation of gray values within rectangular windows.
  2821. LIntExport void DeviationImage(const HObject& Image, HObject* ImageDeviation, const HTuple& Width, const HTuple& Height);
  2822. // Calculate the entropy of gray values within a rectangular window.
  2823. LIntExport void EntropyImage(const HObject& Image, HObject* ImageEntropy, const HTuple& Width, const HTuple& Height);
  2824. // Perform an isotropic diffusion of an image.
  2825. LIntExport void IsotropicDiffusion(const HObject& Image, HObject* SmoothedImage, const HTuple& Sigma, const HTuple& Iterations);
  2826. // Perform an anisotropic diffusion of an image.
  2827. LIntExport void AnisotropicDiffusion(const HObject& Image, HObject* ImageAniso, const HTuple& Mode, const HTuple& Contrast, const HTuple& Theta, const HTuple& Iterations);
  2828. // Smooth an image using various filters.
  2829. LIntExport void SmoothImage(const HObject& Image, HObject* ImageSmooth, const HTuple& Filter, const HTuple& Alpha);
  2830. // Non-linear smoothing with the sigma filter.
  2831. LIntExport void SigmaImage(const HObject& Image, HObject* ImageSigma, const HTuple& MaskHeight, const HTuple& MaskWidth, const HTuple& Sigma);
  2832. // Calculate the average of maximum and minimum inside any mask.
  2833. LIntExport void MidrangeImage(const HObject& Image, const HObject& Mask, HObject* ImageMidrange, const HTuple& Margin);
  2834. // Smooth an image with an arbitrary rank mask.
  2835. LIntExport void TrimmedMean(const HObject& Image, const HObject& Mask, HObject* ImageTMean, const HTuple& Number, const HTuple& Margin);
  2836. // Separated median filtering with rectangle masks.
  2837. LIntExport void MedianSeparate(const HObject& Image, HObject* ImageSMedian, const HTuple& MaskWidth, const HTuple& MaskHeight, const HTuple& Margin);
  2838. // Compute a median filter with rectangular masks.
  2839. LIntExport void MedianRect(const HObject& Image, HObject* ImageMedian, const HTuple& MaskWidth, const HTuple& MaskHeight);
  2840. // Compute a median filter with various masks.
  2841. LIntExport void MedianImage(const HObject& Image, HObject* ImageMedian, const HTuple& MaskType, const HTuple& Radius, const HTuple& Margin);
  2842. // Weighted median filtering with different rank masks.
  2843. LIntExport void MedianWeighted(const HObject& Image, HObject* ImageWMedian, const HTuple& MaskType, const HTuple& MaskSize);
  2844. // Compute a rank filter with rectangular masks.
  2845. LIntExport void RankRect(const HObject& Image, HObject* ImageRank, const HTuple& MaskWidth, const HTuple& MaskHeight, const HTuple& Rank);
  2846. // Compute a rank filter with arbitrary masks.
  2847. LIntExport void RankImage(const HObject& Image, const HObject& Mask, HObject* ImageRank, const HTuple& Rank, const HTuple& Margin);
  2848. // Opening, Median and Closing with circle or rectangle mask.
  2849. LIntExport void DualRank(const HObject& Image, HObject* ImageRank, const HTuple& MaskType, const HTuple& Radius, const HTuple& ModePercent, const HTuple& Margin);
  2850. // Smooth by averaging.
  2851. LIntExport void MeanImage(const HObject& Image, HObject* ImageMean, const HTuple& MaskWidth, const HTuple& MaskHeight);
  2852. // Information on smoothing filter smooth_image.
  2853. LIntExport void InfoSmooth(const HTuple& Filter, const HTuple& Alpha, HTuple* Size, HTuple* Coeffs);
  2854. // Smooth an image using the binomial filter.
  2855. LIntExport void BinomialFilter(const HObject& Image, HObject* ImageBinomial, const HTuple& MaskWidth, const HTuple& MaskHeight);
  2856. // Smooth an image using discrete Gaussian functions.
  2857. LIntExport void GaussImage(const HObject& Image, HObject* ImageGauss, const HTuple& Size);
  2858. // Smooth using discrete Gauss functions.
  2859. LIntExport void GaussFilter(const HObject& Image, HObject* ImageGauss, const HTuple& Size);
  2860. // Smooth an image in the spatial domain to suppress noise.
  2861. LIntExport void EliminateMinMax(const HObject& Image, HObject* FilteredImage, const HTuple& MaskWidth, const HTuple& MaskHeight, const HTuple& Gap, const HTuple& Mode);
  2862. // Interpolate 2 video half images.
  2863. LIntExport void FillInterlace(const HObject& ImageCamera, HObject* ImageFilled, const HTuple& Mode);
  2864. // Return gray values with given rank from multiple channels.
  2865. LIntExport void RankN(const HObject& Image, HObject* RankImage, const HTuple& RankIndex);
  2866. // Average gray values over several channels.
  2867. LIntExport void MeanN(const HObject& Image, HObject* ImageMean);
  2868. // Replace values outside of thresholds with average value.
  2869. LIntExport void EliminateSp(const HObject& Image, HObject* ImageFillSP, const HTuple& MaskWidth, const HTuple& MaskHeight, const HTuple& MinThresh, const HTuple& MaxThresh);
  2870. // Suppress salt and pepper noise.
  2871. LIntExport void MeanSp(const HObject& Image, HObject* ImageSPMean, const HTuple& MaskWidth, const HTuple& MaskHeight, const HTuple& MinThresh, const HTuple& MaxThresh);
  2872. // Find corners using the Sojka operator.
  2873. LIntExport void PointsSojka(const HObject& Image, const HTuple& MaskSize, const HTuple& SigmaW, const HTuple& SigmaD, const HTuple& MinGrad, const HTuple& MinApparentness, const HTuple& MinAngle, const HTuple& Subpix, HTuple* Row, HTuple* Column);
  2874. // Enhance circular dots in an image.
  2875. LIntExport void DotsImage(const HObject& Image, HObject* DotImage, const HTuple& Diameter, const HTuple& FilterType, const HTuple& PixelShift);
  2876. // Subpixel precise detection of local minima in an image.
  2877. LIntExport void LocalMinSubPix(const HObject& Image, const HTuple& Filter, const HTuple& Sigma, const HTuple& Threshold, HTuple* Row, HTuple* Column);
  2878. // Subpixel precise detection of local maxima in an image.
  2879. LIntExport void LocalMaxSubPix(const HObject& Image, const HTuple& Filter, const HTuple& Sigma, const HTuple& Threshold, HTuple* Row, HTuple* Column);
  2880. // Subpixel precise detection of saddle points in an image.
  2881. LIntExport void SaddlePointsSubPix(const HObject& Image, const HTuple& Filter, const HTuple& Sigma, const HTuple& Threshold, HTuple* Row, HTuple* Column);
  2882. // Subpixel precise detection of critical points in an image.
  2883. LIntExport void CriticalPointsSubPix(const HObject& Image, const HTuple& Filter, const HTuple& Sigma, const HTuple& Threshold, HTuple* RowMin, HTuple* ColumnMin, HTuple* RowMax, HTuple* ColumnMax, HTuple* RowSaddle, HTuple* ColumnSaddle);
  2884. // Detect points of interest using the Harris operator.
  2885. LIntExport void PointsHarris(const HObject& Image, const HTuple& SigmaGrad, const HTuple& SigmaSmooth, const HTuple& Alpha, const HTuple& Threshold, HTuple* Row, HTuple* Column);
  2886. // Detect points of interest using the binomial approximation of the Harris operator.
  2887. LIntExport void PointsHarrisBinomial(const HObject& Image, const HTuple& MaskSizeGrad, const HTuple& MaskSizeSmooth, const HTuple& Alpha, const HTuple& Threshold, const HTuple& Subpix, HTuple* Row, HTuple* Column);
  2888. // Detect points of interest using the Lepetit operator.
  2889. LIntExport void PointsLepetit(const HObject& Image, const HTuple& Radius, const HTuple& CheckNeighbor, const HTuple& MinCheckNeighborDiff, const HTuple& MinScore, const HTuple& Subpix, HTuple* Row, HTuple* Column);
  2890. // Detect points of interest using the Foerstner operator.
  2891. LIntExport void PointsFoerstner(const HObject& Image, const HTuple& SigmaGrad, const HTuple& SigmaInt, const HTuple& SigmaPoints, const HTuple& ThreshInhom, const HTuple& ThreshShape, const HTuple& Smoothing, const HTuple& EliminateDoublets, HTuple* RowJunctions, HTuple* ColumnJunctions, HTuple* CoRRJunctions, HTuple* CoRCJunctions, HTuple* CoCCJunctions, HTuple* RowArea, HTuple* ColumnArea, HTuple* CoRRArea, HTuple* CoRCArea, HTuple* CoCCArea);
  2892. // Estimate the image noise from a single image.
  2893. LIntExport void EstimateNoise(const HObject& Image, const HTuple& Method, const HTuple& Percent, HTuple* Sigma);
  2894. // Determine the noise distribution of an image.
  2895. LIntExport void NoiseDistributionMean(const HObject& ConstRegion, const HObject& Image, const HTuple& FilterSize, HTuple* Distribution);
  2896. // Add noise to an image.
  2897. LIntExport void AddNoiseWhite(const HObject& Image, HObject* ImageNoise, const HTuple& Amp);
  2898. // Add noise to an image.
  2899. LIntExport void AddNoiseDistribution(const HObject& Image, HObject* ImageNoise, const HTuple& Distribution);
  2900. // Generate a Gaussian noise distribution.
  2901. LIntExport void GaussDistribution(const HTuple& Sigma, HTuple* Distribution);
  2902. // Generate a salt-and-pepper noise distribution.
  2903. LIntExport void SpDistribution(const HTuple& PercentSalt, const HTuple& PercentPepper, HTuple* Distribution);
  2904. // Calculate standard deviation over several channels.
  2905. LIntExport void DeviationN(const HObject& Image, HObject* ImageDeviation);
  2906. // Perform an inpainting by texture propagation.
  2907. LIntExport void InpaintingTexture(const HObject& Image, const HObject& Region, HObject* InpaintedImage, const HTuple& MaskSize, const HTuple& SearchSize, const HTuple& Anisotropy, const HTuple& PostIteration, const HTuple& Smoothness);
  2908. // Perform an inpainting by coherence transport.
  2909. LIntExport void InpaintingCt(const HObject& Image, const HObject& Region, HObject* InpaintedImage, const HTuple& Epsilon, const HTuple& Kappa, const HTuple& Sigma, const HTuple& Rho, const HTuple& ChannelCoefficients);
  2910. // Perform an inpainting by smoothing of level lines.
  2911. LIntExport void InpaintingMcf(const HObject& Image, const HObject& Region, HObject* InpaintedImage, const HTuple& Sigma, const HTuple& Theta, const HTuple& Iterations);
  2912. // Perform an inpainting by coherence enhancing diffusion.
  2913. LIntExport void InpaintingCed(const HObject& Image, const HObject& Region, HObject* InpaintedImage, const HTuple& Sigma, const HTuple& Rho, const HTuple& Theta, const HTuple& Iterations);
  2914. // Perform an inpainting by anisotropic diffusion.
  2915. LIntExport void InpaintingAniso(const HObject& Image, const HObject& Region, HObject* InpaintedImage, const HTuple& Mode, const HTuple& Contrast, const HTuple& Theta, const HTuple& Iterations, const HTuple& Rho);
  2916. // Perform a harmonic interpolation on an image region.
  2917. LIntExport void HarmonicInterpolation(const HObject& Image, const HObject& Region, HObject* InpaintedImage, const HTuple& Precision);
  2918. // Expand the domain of an image and set the gray values in the expanded domain.
  2919. LIntExport void ExpandDomainGray(const HObject& InputImage, HObject* ExpandedImage, const HTuple& ExpansionRange);
  2920. // Compute the topographic primal sketch of an image.
  2921. LIntExport void TopographicSketch(const HObject& Image, HObject* Sketch);
  2922. // Compute an affine transformation of the color values of a multichannel image.
  2923. LIntExport void LinearTransColor(const HObject& Image, HObject* ImageTrans, const HTuple& TransMat);
  2924. // Compute the transformation matrix of the principal component analysis of multichannel images.
  2925. LIntExport void GenPrincipalCompTrans(const HObject& MultichannelImage, HTuple* Trans, HTuple* TransInv, HTuple* Mean, HTuple* Cov, HTuple* InfoPerComp);
  2926. // Compute the principal components of multichannel images.
  2927. LIntExport void PrincipalComp(const HObject& MultichannelImage, HObject* PCAImage, HTuple* InfoPerComp);
  2928. // Determine the fuzzy entropy of regions.
  2929. LIntExport void FuzzyEntropy(const HObject& Regions, const HObject& Image, const HTuple& Apar, const HTuple& Cpar, HTuple* Entropy);
  2930. // Calculate the fuzzy perimeter of a region.
  2931. LIntExport void FuzzyPerimeter(const HObject& Regions, const HObject& Image, const HTuple& Apar, const HTuple& Cpar, HTuple* Perimeter);
  2932. // Perform a gray value closing with a selected mask.
  2933. LIntExport void GrayClosingShape(const HObject& Image, HObject* ImageClosing, const HTuple& MaskHeight, const HTuple& MaskWidth, const HTuple& MaskShape);
  2934. // Perform a gray value opening with a selected mask.
  2935. LIntExport void GrayOpeningShape(const HObject& Image, HObject* ImageOpening, const HTuple& MaskHeight, const HTuple& MaskWidth, const HTuple& MaskShape);
  2936. // Determine the minimum gray value within a selected mask.
  2937. LIntExport void GrayErosionShape(const HObject& Image, HObject* ImageMin, const HTuple& MaskHeight, const HTuple& MaskWidth, const HTuple& MaskShape);
  2938. // Determine the maximum gray value within a selected mask.
  2939. LIntExport void GrayDilationShape(const HObject& Image, HObject* ImageMax, const HTuple& MaskHeight, const HTuple& MaskWidth, const HTuple& MaskShape);
  2940. // Determine the gray value range within a rectangle.
  2941. LIntExport void GrayRangeRect(const HObject& Image, HObject* ImageResult, const HTuple& MaskHeight, const HTuple& MaskWidth);
  2942. // Perform a gray value closing with a rectangular mask.
  2943. LIntExport void GrayClosingRect(const HObject& Image, HObject* ImageClosing, const HTuple& MaskHeight, const HTuple& MaskWidth);
  2944. // Perform a gray value opening with a rectangular mask.
  2945. LIntExport void GrayOpeningRect(const HObject& Image, HObject* ImageOpening, const HTuple& MaskHeight, const HTuple& MaskWidth);
  2946. // Determine the minimum gray value within a rectangle.
  2947. LIntExport void GrayErosionRect(const HObject& Image, HObject* ImageMin, const HTuple& MaskHeight, const HTuple& MaskWidth);
  2948. // Determine the maximum gray value within a rectangle.
  2949. LIntExport void GrayDilationRect(const HObject& Image, HObject* ImageMax, const HTuple& MaskHeight, const HTuple& MaskWidth);
  2950. // Thinning of gray value images.
  2951. LIntExport void GraySkeleton(const HObject& Image, HObject* GraySkeleton);
  2952. // Transform an image with a gray-value look-up-table
  2953. LIntExport void LutTrans(const HObject& Image, HObject* ImageResult, const HTuple& Lut);
  2954. // Calculate the correlation between an image and an arbitrary filter mask
  2955. LIntExport void ConvolImage(const HObject& Image, HObject* ImageResult, const HTuple& FilterMask, const HTuple& Margin);
  2956. // Convert the type of an image.
  2957. LIntExport void ConvertImageType(const HObject& Image, HObject* ImageConverted, const HTuple& NewType);
  2958. // Convert two real-valued images into a vector field image.
  2959. LIntExport void RealToVectorField(const HObject& Row, const HObject& Col, HObject* VectorField, const HTuple& Type);
  2960. // Convert a vector field image into two real-valued images.
  2961. LIntExport void VectorFieldToReal(const HObject& VectorField, HObject* Row, HObject* Col);
  2962. // Convert two real images into a complex image.
  2963. LIntExport void RealToComplex(const HObject& ImageReal, const HObject& ImageImaginary, HObject* ImageComplex);
  2964. // Convert a complex image into two real images.
  2965. LIntExport void ComplexToReal(const HObject& ImageComplex, HObject* ImageReal, HObject* ImageImaginary);
  2966. // Paint regions with their average gray value.
  2967. LIntExport void RegionToMean(const HObject& Regions, const HObject& Image, HObject* ImageMean);
  2968. // Calculate the lowest possible gray value on an arbitrary path to the image border for each point in the image.
  2969. LIntExport void GrayInside(const HObject& Image, HObject* ImageDist);
  2970. // Symmetry of gray values along a row.
  2971. LIntExport void Symmetry(const HObject& Image, HObject* ImageSymmetry, const HTuple& MaskSize, const HTuple& Direction, const HTuple& Exponent);
  2972. // Selection of gray values of a multi-channel image using an index image.
  2973. LIntExport void SelectGrayvaluesFromChannels(const HObject& MultichannelImage, const HObject& IndexImage, HObject* Selected);
  2974. // Extract depth using multiple focus levels.
  2975. LIntExport void DepthFromFocus(const HObject& MultiFocusImage, HObject* Depth, HObject* Confidence, const HTuple& Filter, const HTuple& Selection);
  2976. // Compute the calibrated scene flow between two stereo image pairs.
  2977. LIntExport void SceneFlowCalib(const HObject& ImageRect1T1, const HObject& ImageRect2T1, const HObject& ImageRect1T2, const HObject& ImageRect2T2, const HObject& Disparity, const HTuple& SmoothingFlow, const HTuple& SmoothingDisparity, const HTuple& GenParamName, const HTuple& GenParamValue, const HTuple& CamParamRect1, const HTuple& CamParamRect2, const HTuple& RelPoseRect, HTuple* ObjectModel3D);
  2978. // Compute the uncalibrated scene flow between two stereo image pairs.
  2979. LIntExport void SceneFlowUncalib(const HObject& ImageRect1T1, const HObject& ImageRect2T1, const HObject& ImageRect1T2, const HObject& ImageRect2T2, const HObject& Disparity, HObject* OpticalFlow, HObject* DisparityChange, const HTuple& SmoothingFlow, const HTuple& SmoothingDisparity, const HTuple& GenParamName, const HTuple& GenParamValue);
  2980. // Unwarp an image using a vector field.
  2981. LIntExport void UnwarpImageVectorField(const HObject& Image, const HObject& VectorField, HObject* ImageUnwarped);
  2982. // Convolve a vector field with derivatives of the Gaussian.
  2983. LIntExport void DerivateVectorField(const HObject& VectorField, HObject* Result, const HTuple& Sigma, const HTuple& Component);
  2984. // Compute the length of the vectors of a vector field.
  2985. LIntExport void VectorFieldLength(const HObject& VectorField, HObject* Length, const HTuple& Mode);
  2986. // Compute the optical flow between two images.
  2987. LIntExport void OpticalFlowMg(const HObject& ImageT1, const HObject& ImageT2, HObject* VectorField, const HTuple& Algorithm, const HTuple& SmoothingSigma, const HTuple& IntegrationSigma, const HTuple& FlowSmoothness, const HTuple& GradientConstancy, const HTuple& MGParamName, const HTuple& MGParamValue);
  2988. // Matching a template and an image in a resolution pyramid.
  2989. LIntExport void ExhaustiveMatchMg(const HObject& Image, const HObject& ImageTemplate, HObject* ImageMatch, const HTuple& Mode, const HTuple& Level, const HTuple& Threshold);
  2990. // Preparing a pattern for template matching with rotation.
  2991. LIntExport void CreateTemplateRot(const HObject& Template, const HTuple& NumLevel, const HTuple& AngleStart, const HTuple& AngleExtend, const HTuple& AngleStep, const HTuple& Optimize, const HTuple& GrayValues, HTuple* TemplateID);
  2992. // Preparing a pattern for template matching.
  2993. LIntExport void CreateTemplate(const HObject& Template, const HTuple& FirstError, const HTuple& NumLevel, const HTuple& Optimize, const HTuple& GrayValues, HTuple* TemplateID);
  2994. // Serialize a template.
  2995. LIntExport void SerializeTemplate(const HTuple& TemplateID, HTuple* SerializedItemHandle);
  2996. // Deserialize a serialized template.
  2997. LIntExport void DeserializeTemplate(const HTuple& SerializedItemHandle, HTuple* TemplateID);
  2998. // Writing a template to file.
  2999. LIntExport void WriteTemplate(const HTuple& TemplateID, const HTuple& FileName);
  3000. // Reading a template from file.
  3001. LIntExport void ReadTemplate(const HTuple& FileName, HTuple* TemplateID);
  3002. // This operator is inoperable. It had the following function: Deallocation of the memory of all templates.
  3003. LIntExport void ClearAllTemplates();
  3004. // Deallocation of the memory of a template.
  3005. LIntExport void ClearTemplate(const HTuple& TemplateID);
  3006. // Gray value offset for template.
  3007. LIntExport void SetOffsetTemplate(const HTuple& TemplateID, const HTuple& GrayOffset);
  3008. // Define reference position for a matching template.
  3009. LIntExport void SetReferenceTemplate(const HTuple& TemplateID, const HTuple& Row, const HTuple& Column);
  3010. // Adapting a template to the size of an image.
  3011. LIntExport void AdaptTemplate(const HObject& Image, const HTuple& TemplateID);
  3012. // Searching all good gray value matches in a pyramid.
  3013. LIntExport void FastMatchMg(const HObject& Image, HObject* Matches, const HTuple& TemplateID, const HTuple& MaxError, const HTuple& NumLevel);
  3014. // Searching the best gray value matches in a pre generated pyramid.
  3015. LIntExport void BestMatchPreMg(const HObject& ImagePyramid, const HTuple& TemplateID, const HTuple& MaxError, const HTuple& SubPixel, const HTuple& NumLevels, const HTuple& WhichLevels, HTuple* Row, HTuple* Column, HTuple* Error);
  3016. // Searching the best gray value matches in a pyramid.
  3017. LIntExport void BestMatchMg(const HObject& Image, const HTuple& TemplateID, const HTuple& MaxError, const HTuple& SubPixel, const HTuple& NumLevels, const HTuple& WhichLevels, HTuple* Row, HTuple* Column, HTuple* Error);
  3018. // Searching all good matches of a template and an image.
  3019. LIntExport void FastMatch(const HObject& Image, HObject* Matches, const HTuple& TemplateID, const HTuple& MaxError);
  3020. // Searching the best matching of a template and a pyramid with rotation.
  3021. LIntExport void BestMatchRotMg(const HObject& Image, const HTuple& TemplateID, const HTuple& AngleStart, const HTuple& AngleExtend, const HTuple& MaxError, const HTuple& SubPixel, const HTuple& NumLevels, HTuple* Row, HTuple* Column, HTuple* Angle, HTuple* Error);
  3022. // Searching the best matching of a template and an image with rotation.
  3023. LIntExport void BestMatchRot(const HObject& Image, const HTuple& TemplateID, const HTuple& AngleStart, const HTuple& AngleExtend, const HTuple& MaxError, const HTuple& SubPixel, HTuple* Row, HTuple* Column, HTuple* Angle, HTuple* Error);
  3024. // Searching the best matching of a template and an image.
  3025. LIntExport void BestMatch(const HObject& Image, const HTuple& TemplateID, const HTuple& MaxError, const HTuple& SubPixel, HTuple* Row, HTuple* Column, HTuple* Error);
  3026. // Matching of a template and an image.
  3027. LIntExport void ExhaustiveMatch(const HObject& Image, const HObject& RegionOfInterest, const HObject& ImageTemplate, HObject* ImageMatch, const HTuple& Mode);
  3028. // Searching corners in images.
  3029. LIntExport void CornerResponse(const HObject& Image, HObject* ImageCorner, const HTuple& Size, const HTuple& Weight);
  3030. // Calculating a Gauss pyramid.
  3031. LIntExport void GenGaussPyramid(const HObject& Image, HObject* ImagePyramid, const HTuple& Mode, const HTuple& Scale);
  3032. // Calculating the monotony operation.
  3033. LIntExport void Monotony(const HObject& Image, HObject* ImageMonotony);
  3034. // Edge extraction using bandpass filters.
  3035. LIntExport void BandpassImage(const HObject& Image, HObject* ImageBandpass, const HTuple& FilterType);
  3036. // Detect color lines and their width.
  3037. LIntExport void LinesColor(const HObject& Image, HObject* Lines, const HTuple& Sigma, const HTuple& Low, const HTuple& High, const HTuple& ExtractWidth, const HTuple& CompleteJunctions);
  3038. // Detect lines and their width.
  3039. LIntExport void LinesGauss(const HObject& Image, HObject* Lines, const HTuple& Sigma, const HTuple& Low, const HTuple& High, const HTuple& LightDark, const HTuple& ExtractWidth, const HTuple& LineModel, const HTuple& CompleteJunctions);
  3040. // Detection of lines using the facet model.
  3041. LIntExport void LinesFacet(const HObject& Image, HObject* Lines, const HTuple& MaskSize, const HTuple& Low, const HTuple& High, const HTuple& LightDark);
  3042. // Store a filter mask in the spatial domain as a real-image.
  3043. LIntExport void GenFilterMask(HObject* ImageFilter, const HTuple& FilterMask, const HTuple& Scale, const HTuple& Width, const HTuple& Height);
  3044. // Generate a mean filter in the frequency domain.
  3045. LIntExport void GenMeanFilter(HObject* ImageMean, const HTuple& MaskShape, const HTuple& Diameter1, const HTuple& Diameter2, const HTuple& Phi, const HTuple& Norm, const HTuple& Mode, const HTuple& Width, const HTuple& Height);
  3046. // Generate a Gaussian filter in the frequency domain.
  3047. LIntExport void GenGaussFilter(HObject* ImageGauss, const HTuple& Sigma1, const HTuple& Sigma2, const HTuple& Phi, const HTuple& Norm, const HTuple& Mode, const HTuple& Width, const HTuple& Height);
  3048. // Generate a derivative filter in the frequency domain.
  3049. LIntExport void GenDerivativeFilter(HObject* ImageDerivative, const HTuple& Derivative, const HTuple& Exponent, const HTuple& Norm, const HTuple& Mode, const HTuple& Width, const HTuple& Height);
  3050. // Generate a bandpass filter with Gaussian or sinusoidal shape.
  3051. LIntExport void GenStdBandpass(HObject* ImageFilter, const HTuple& Frequency, const HTuple& Sigma, const HTuple& Type, const HTuple& Norm, const HTuple& Mode, const HTuple& Width, const HTuple& Height);
  3052. // Generate a bandpass filter with sinusoidal shape.
  3053. LIntExport void GenSinBandpass(HObject* ImageFilter, const HTuple& Frequency, const HTuple& Norm, const HTuple& Mode, const HTuple& Width, const HTuple& Height);
  3054. // Generate an ideal band filter.
  3055. LIntExport void GenBandfilter(HObject* ImageFilter, const HTuple& MinFrequency, const HTuple& MaxFrequency, const HTuple& Norm, const HTuple& Mode, const HTuple& Width, const HTuple& Height);
  3056. // Generate an ideal bandpass filter.
  3057. LIntExport void GenBandpass(HObject* ImageBandpass, const HTuple& MinFrequency, const HTuple& MaxFrequency, const HTuple& Norm, const HTuple& Mode, const HTuple& Width, const HTuple& Height);
  3058. // Generate an ideal lowpass filter.
  3059. LIntExport void GenLowpass(HObject* ImageLowpass, const HTuple& Frequency, const HTuple& Norm, const HTuple& Mode, const HTuple& Width, const HTuple& Height);
  3060. // Generate an ideal highpass filter.
  3061. LIntExport void GenHighpass(HObject* ImageHighpass, const HTuple& Frequency, const HTuple& Norm, const HTuple& Mode, const HTuple& Width, const HTuple& Height);
  3062. // Return the power spectrum of a complex image.
  3063. LIntExport void PowerLn(const HObject& Image, HObject* ImageResult);
  3064. // Return the power spectrum of a complex image.
  3065. LIntExport void PowerReal(const HObject& Image, HObject* ImageResult);
  3066. // Return the power spectrum of a complex image.
  3067. LIntExport void PowerByte(const HObject& Image, HObject* PowerByte);
  3068. // Return the phase of a complex image in degrees.
  3069. LIntExport void PhaseDeg(const HObject& ImageComplex, HObject* ImagePhase);
  3070. // Return the phase of a complex image in radians.
  3071. LIntExport void PhaseRad(const HObject& ImageComplex, HObject* ImagePhase);
  3072. // Calculate the energy of a two-channel image.
  3073. LIntExport void EnergyGabor(const HObject& ImageGabor, const HObject& ImageHilbert, HObject* Energy);
  3074. // Convolve an image with a Gabor filter in the frequency domain.
  3075. LIntExport void ConvolGabor(const HObject& ImageFFT, const HObject& GaborFilter, HObject* ImageResultGabor, HObject* ImageResultHilbert);
  3076. // Generate a Gabor filter.
  3077. LIntExport void GenGabor(HObject* ImageFilter, const HTuple& Angle, const HTuple& Frequency, const HTuple& Bandwidth, const HTuple& Orientation, const HTuple& Norm, const HTuple& Mode, const HTuple& Width, const HTuple& Height);
  3078. // Compute the phase correlation of two images in the frequency domain.
  3079. LIntExport void PhaseCorrelationFft(const HObject& ImageFFT1, const HObject& ImageFFT2, HObject* ImagePhaseCorrelation);
  3080. // Compute the correlation of two images in the frequency domain.
  3081. LIntExport void CorrelationFft(const HObject& ImageFFT1, const HObject& ImageFFT2, HObject* ImageCorrelation);
  3082. // Convolve an image with a filter in the frequency domain.
  3083. LIntExport void ConvolFft(const HObject& ImageFFT, const HObject& ImageFilter, HObject* ImageConvol);
  3084. // Deserialize FFT speed optimization data.
  3085. LIntExport void DeserializeFftOptimizationData(const HTuple& SerializedItemHandle);
  3086. // Serialize FFT speed optimization data.
  3087. LIntExport void SerializeFftOptimizationData(HTuple* SerializedItemHandle);
  3088. // Load FFT speed optimization data from a file.
  3089. LIntExport void ReadFftOptimizationData(const HTuple& FileName);
  3090. // Store FFT speed optimization data in a file.
  3091. LIntExport void WriteFftOptimizationData(const HTuple& FileName);
  3092. // Optimize the runtime of the real-valued FFT.
  3093. LIntExport void OptimizeRftSpeed(const HTuple& Width, const HTuple& Height, const HTuple& Mode);
  3094. // Optimize the runtime of the FFT.
  3095. LIntExport void OptimizeFftSpeed(const HTuple& Width, const HTuple& Height, const HTuple& Mode);
  3096. // Compute the real-valued fast Fourier transform of an image.
  3097. LIntExport void RftGeneric(const HObject& Image, HObject* ImageFFT, const HTuple& Direction, const HTuple& Norm, const HTuple& ResultType, const HTuple& Width);
  3098. // Compute the inverse fast Fourier transform of an image.
  3099. LIntExport void FftImageInv(const HObject& Image, HObject* ImageFFTInv);
  3100. // Compute the fast Fourier transform of an image.
  3101. LIntExport void FftImage(const HObject& Image, HObject* ImageFFT);
  3102. // Compute the fast Fourier transform of an image.
  3103. LIntExport void FftGeneric(const HObject& Image, HObject* ImageFFT, const HTuple& Direction, const HTuple& Exponent, const HTuple& Norm, const HTuple& Mode, const HTuple& ResultType);
  3104. // Apply a shock filter to an image.
  3105. LIntExport void ShockFilter(const HObject& Image, HObject* SharpenedImage, const HTuple& Theta, const HTuple& Iterations, const HTuple& Mode, const HTuple& Sigma);
  3106. // Apply the mean curvature flow to an image.
  3107. LIntExport void MeanCurvatureFlow(const HObject& Image, HObject* ImageMCF, const HTuple& Sigma, const HTuple& Theta, const HTuple& Iterations);
  3108. // Perform a coherence enhancing diffusion of an image.
  3109. LIntExport void CoherenceEnhancingDiff(const HObject& Image, HObject* ImageCED, const HTuple& Sigma, const HTuple& Rho, const HTuple& Theta, const HTuple& Iterations);
  3110. // Histogram linearization of images
  3111. LIntExport void EquHistoImage(const HObject& Image, HObject* ImageEquHisto);
  3112. // Illuminate image.
  3113. LIntExport void Illuminate(const HObject& Image, HObject* ImageIlluminate, const HTuple& MaskWidth, const HTuple& MaskHeight, const HTuple& Factor);
  3114. // Enhance contrast of the image.
  3115. LIntExport void Emphasize(const HObject& Image, HObject* ImageEmphasize, const HTuple& MaskWidth, const HTuple& MaskHeight, const HTuple& Factor);
  3116. // Maximum gray value spreading in the value range 0 to 255.
  3117. LIntExport void ScaleImageMax(const HObject& Image, HObject* ImageScaleMax);
  3118. // Detect edges (amplitude and direction) using the Robinson operator.
  3119. LIntExport void RobinsonDir(const HObject& Image, HObject* ImageEdgeAmp, HObject* ImageEdgeDir);
  3120. // Detect edges (amplitude) using the Robinson operator.
  3121. LIntExport void RobinsonAmp(const HObject& Image, HObject* ImageEdgeAmp);
  3122. // Detect edges (amplitude and direction) using the Kirsch operator.
  3123. LIntExport void KirschDir(const HObject& Image, HObject* ImageEdgeAmp, HObject* ImageEdgeDir);
  3124. // Detect edges (amplitude) using the Kirsch operator.
  3125. LIntExport void KirschAmp(const HObject& Image, HObject* ImageEdgeAmp);
  3126. // Detect edges (amplitude and direction) using the Frei-Chen operator.
  3127. LIntExport void FreiDir(const HObject& Image, HObject* ImageEdgeAmp, HObject* ImageEdgeDir);
  3128. // Detect edges (amplitude) using the Frei-Chen operator.
  3129. LIntExport void FreiAmp(const HObject& Image, HObject* ImageEdgeAmp);
  3130. // Detect edges (amplitude and direction) using the Prewitt operator.
  3131. LIntExport void PrewittDir(const HObject& Image, HObject* ImageEdgeAmp, HObject* ImageEdgeDir);
  3132. // Detect edges (amplitude) using the Prewitt operator.
  3133. LIntExport void PrewittAmp(const HObject& Image, HObject* ImageEdgeAmp);
  3134. // Detect edges (amplitude) using the Sobel operator.
  3135. LIntExport void SobelAmp(const HObject& Image, HObject* EdgeAmplitude, const HTuple& FilterType, const HTuple& Size);
  3136. // Detect edges (amplitude and direction) using the Sobel operator.
  3137. LIntExport void SobelDir(const HObject& Image, HObject* EdgeAmplitude, HObject* EdgeDirection, const HTuple& FilterType, const HTuple& Size);
  3138. // Detect edges using the Roberts filter.
  3139. LIntExport void Roberts(const HObject& Image, HObject* ImageRoberts, const HTuple& FilterType);
  3140. // Calculate the Laplace operator by using finite differences.
  3141. LIntExport void Laplace(const HObject& Image, HObject* ImageLaplace, const HTuple& ResultType, const HTuple& MaskSize, const HTuple& FilterMask);
  3142. // Extract high frequency components from an image.
  3143. LIntExport void HighpassImage(const HObject& Image, HObject* Highpass, const HTuple& Width, const HTuple& Height);
  3144. // Return the filter coefficients of a filter in edges_image.
  3145. LIntExport void InfoEdges(const HTuple& Filter, const HTuple& Mode, const HTuple& Alpha, HTuple* Size, HTuple* Coeffs);
  3146. // Extract subpixel precise color edges using Deriche, Shen, or Canny filters.
  3147. LIntExport void EdgesColorSubPix(const HObject& Image, HObject* Edges, const HTuple& Filter, const HTuple& Alpha, const HTuple& Low, const HTuple& High);
  3148. // Extract color edges using Canny, Deriche, or Shen filters.
  3149. LIntExport void EdgesColor(const HObject& Image, HObject* ImaAmp, HObject* ImaDir, const HTuple& Filter, const HTuple& Alpha, const HTuple& NMS, const HTuple& Low, const HTuple& High);
  3150. // Extract sub-pixel precise edges using Deriche, Lanser, Shen, or Canny filters.
  3151. LIntExport void EdgesSubPix(const HObject& Image, HObject* Edges, const HTuple& Filter, const HTuple& Alpha, const HTuple& Low, const HTuple& High);
  3152. // Extract edges using Deriche, Lanser, Shen, or Canny filters.
  3153. LIntExport void EdgesImage(const HObject& Image, HObject* ImaAmp, HObject* ImaDir, const HTuple& Filter, const HTuple& Alpha, const HTuple& NMS, const HTuple& Low, const HTuple& High);
  3154. // Convolve an image with derivatives of the Gaussian.
  3155. LIntExport void DerivateGauss(const HObject& Image, HObject* DerivGauss, const HTuple& Sigma, const HTuple& Component);
  3156. // LoG-Operator (Laplace of Gaussian).
  3157. LIntExport void LaplaceOfGauss(const HObject& Image, HObject* ImageLaplace, const HTuple& Sigma);
  3158. // Approximate the LoG operator (Laplace of Gaussian).
  3159. LIntExport void DiffOfGauss(const HObject& Image, HObject* DiffOfGauss, const HTuple& Sigma, const HTuple& SigFactor);
  3160. // Close edge gaps using the edge amplitude image.
  3161. LIntExport void CloseEdgesLength(const HObject& Edges, const HObject& Gradient, HObject* ClosedEdges, const HTuple& MinAmplitude, const HTuple& MaxGapLength);
  3162. // Close edge gaps using the edge amplitude image.
  3163. LIntExport void CloseEdges(const HObject& Edges, const HObject& EdgeImage, HObject* RegionResult, const HTuple& MinAmplitude);
  3164. // Detect straight edge segments.
  3165. LIntExport void DetectEdgeSegments(const HObject& Image, const HTuple& SobelSize, const HTuple& MinAmplitude, const HTuple& MaxDistance, const HTuple& MinLength, HTuple* BeginRow, HTuple* BeginCol, HTuple* EndRow, HTuple* EndCol);
  3166. // This operator is inoperable. It had the following function: Delete all look-up-tables of the color space transformation.
  3167. LIntExport void ClearAllColorTransLuts();
  3168. // Release the look-up-table needed for color space transformation.
  3169. LIntExport void ClearColorTransLut(const HTuple& ColorTransLUTHandle);
  3170. // Color space transformation using pre-generated look-up-table.
  3171. LIntExport void ApplyColorTransLut(const HObject& Image1, const HObject& Image2, const HObject& Image3, HObject* ImageResult1, HObject* ImageResult2, HObject* ImageResult3, const HTuple& ColorTransLUTHandle);
  3172. // Creates the look-up-table for transformation of an image from the RGB color space to an arbitrary color space.
  3173. LIntExport void CreateColorTransLut(const HTuple& ColorSpace, const HTuple& TransDirection, const HTuple& NumBits, HTuple* ColorTransLUTHandle);
  3174. // Convert a single-channel color filter array image into an RGB image.
  3175. LIntExport void CfaToRgb(const HObject& CFAImage, HObject* RGBImage, const HTuple& CFAType, const HTuple& Interpolation);
  3176. // Transform an RGB image into a gray scale image.
  3177. LIntExport void Rgb1ToGray(const HObject& RGBImage, HObject* GrayImage);
  3178. // Transform an RGB image to a gray scale image.
  3179. LIntExport void Rgb3ToGray(const HObject& ImageRed, const HObject& ImageGreen, const HObject& ImageBlue, HObject* ImageGray);
  3180. // Transform an image from the RGB color space to an arbitrary color space.
  3181. LIntExport void TransFromRgb(const HObject& ImageRed, const HObject& ImageGreen, const HObject& ImageBlue, HObject* ImageResult1, HObject* ImageResult2, HObject* ImageResult3, const HTuple& ColorSpace);
  3182. // Transform an image from an arbitrary color space to the RGB color space.
  3183. LIntExport void TransToRgb(const HObject& ImageInput1, const HObject& ImageInput2, const HObject& ImageInput3, HObject* ImageRed, HObject* ImageGreen, HObject* ImageBlue, const HTuple& ColorSpace);
  3184. // Logical "AND" of each pixel using a bit mask.
  3185. LIntExport void BitMask(const HObject& Image, HObject* ImageMask, const HTuple& BitMask);
  3186. // Extract a bit from the pixels.
  3187. LIntExport void BitSlice(const HObject& Image, HObject* ImageSlice, const HTuple& Bit);
  3188. // Right shift of all pixels of the image.
  3189. LIntExport void BitRshift(const HObject& Image, HObject* ImageRShift, const HTuple& Shift);
  3190. // Left shift of all pixels of the image.
  3191. LIntExport void BitLshift(const HObject& Image, HObject* ImageLShift, const HTuple& Shift);
  3192. // Complement all bits of the pixels.
  3193. LIntExport void BitNot(const HObject& Image, HObject* ImageNot);
  3194. // Bit-by-bit XOR of all pixels of the input images.
  3195. LIntExport void BitXor(const HObject& Image1, const HObject& Image2, HObject* ImageXor);
  3196. // Bit-by-bit OR of all pixels of the input images.
  3197. LIntExport void BitOr(const HObject& Image1, const HObject& Image2, HObject* ImageOr);
  3198. // Bit-by-bit AND of all pixels of the input images.
  3199. LIntExport void BitAnd(const HObject& Image1, const HObject& Image2, HObject* ImageAnd);
  3200. // Perform a gamma encoding or decoding of an image.
  3201. LIntExport void GammaImage(const HObject& Image, HObject* GammaImage, const HTuple& Gamma, const HTuple& Offset, const HTuple& Threshold, const HTuple& MaxGray, const HTuple& Encode);
  3202. // Raise an image to a power.
  3203. LIntExport void PowImage(const HObject& Image, HObject* PowImage, const HTuple& Exponent);
  3204. // Calculate the exponentiation of an image.
  3205. LIntExport void ExpImage(const HObject& Image, HObject* ExpImage, const HTuple& Base);
  3206. // Calculate the logarithm of an image.
  3207. LIntExport void LogImage(const HObject& Image, HObject* LogImage, const HTuple& Base);
  3208. // Calculate the arctangent of two images.
  3209. LIntExport void Atan2Image(const HObject& ImageY, const HObject& ImageX, HObject* ArctanImage);
  3210. // Calculate the arctangent of an image.
  3211. LIntExport void AtanImage(const HObject& Image, HObject* ArctanImage);
  3212. // Calculate the arccosine of an image.
  3213. LIntExport void AcosImage(const HObject& Image, HObject* ArccosImage);
  3214. // Calculate the arcsine of an image.
  3215. LIntExport void AsinImage(const HObject& Image, HObject* ArcsinImage);
  3216. // Calculate the tangent of an image.
  3217. LIntExport void TanImage(const HObject& Image, HObject* TanImage);
  3218. // Calculate the cosine of an image.
  3219. LIntExport void CosImage(const HObject& Image, HObject* CosImage);
  3220. // Calculate the sine of an image.
  3221. LIntExport void SinImage(const HObject& Image, HObject* SinImage);
  3222. // Calculate the absolute difference of two images.
  3223. LIntExport void AbsDiffImage(const HObject& Image1, const HObject& Image2, HObject* ImageAbsDiff, const HTuple& Mult);
  3224. // Calculate the square root of an image.
  3225. LIntExport void SqrtImage(const HObject& Image, HObject* SqrtImage);
  3226. // Subtract two images.
  3227. LIntExport void SubImage(const HObject& ImageMinuend, const HObject& ImageSubtrahend, HObject* ImageSub, const HTuple& Mult, const HTuple& Add);
  3228. // Scale the gray values of an image.
  3229. LIntExport void ScaleImage(const HObject& Image, HObject* ImageScaled, const HTuple& Mult, const HTuple& Add);
  3230. // Divide two images.
  3231. LIntExport void DivImage(const HObject& Image1, const HObject& Image2, HObject* ImageResult, const HTuple& Mult, const HTuple& Add);
  3232. // Multiply two images.
  3233. LIntExport void MultImage(const HObject& Image1, const HObject& Image2, HObject* ImageResult, const HTuple& Mult, const HTuple& Add);
  3234. // Add two images.
  3235. LIntExport void AddImage(const HObject& Image1, const HObject& Image2, HObject* ImageResult, const HTuple& Mult, const HTuple& Add);
  3236. // Calculate the absolute value (modulus) of an image.
  3237. LIntExport void AbsImage(const HObject& Image, HObject* ImageAbs);
  3238. // Calculate the minimum of two images pixel by pixel.
  3239. LIntExport void MinImage(const HObject& Image1, const HObject& Image2, HObject* ImageMin);
  3240. // Calculate the maximum of two images pixel by pixel.
  3241. LIntExport void MaxImage(const HObject& Image1, const HObject& Image2, HObject* ImageMax);
  3242. // Invert an image.
  3243. LIntExport void InvertImage(const HObject& Image, HObject* ImageInvert);
  3244. // Apply an automatic color correction to panorama images.
  3245. LIntExport void AdjustMosaicImages(const HObject& Images, HObject* CorrectedImages, const HTuple& From, const HTuple& To, const HTuple& ReferenceImage, const HTuple& HomMatrices2D, const HTuple& EstimationMethod, const HTuple& EstimateParameters, const HTuple& OECFModel);
  3246. // Create 6 cube map images of a spherical mosaic.
  3247. LIntExport void GenCubeMapMosaic(const HObject& Images, HObject* Front, HObject* Rear, HObject* Left, HObject* Right, HObject* Top, HObject* Bottom, const HTuple& CameraMatrices, const HTuple& RotationMatrices, const HTuple& CubeMapDimension, const HTuple& StackingOrder, const HTuple& Interpolation);
  3248. // Create a spherical mosaic image.
  3249. LIntExport void GenSphericalMosaic(const HObject& Images, HObject* MosaicImage, const HTuple& CameraMatrices, const HTuple& RotationMatrices, const HTuple& LatMin, const HTuple& LatMax, const HTuple& LongMin, const HTuple& LongMax, const HTuple& LatLongStep, const HTuple& StackingOrder, const HTuple& Interpolation);
  3250. // Combine multiple images into a mosaic image.
  3251. LIntExport void GenBundleAdjustedMosaic(const HObject& Images, HObject* MosaicImage, const HTuple& HomMatrices2D, const HTuple& StackingOrder, const HTuple& TransformDomain, HTuple* TransMat2D);
  3252. // Combine multiple images into a mosaic image.
  3253. LIntExport void GenProjectiveMosaic(const HObject& Images, HObject* MosaicImage, const HTuple& StartImage, const HTuple& MappingSource, const HTuple& MappingDest, const HTuple& HomMatrices2D, const HTuple& StackingOrder, const HTuple& TransformDomain, HTuple* MosaicMatrices2D);
  3254. // Apply a projective transformation to an image and specify the output image size.
  3255. LIntExport void ProjectiveTransImageSize(const HObject& Image, HObject* TransImage, const HTuple& HomMat2D, const HTuple& Interpolation, const HTuple& Width, const HTuple& Height, const HTuple& TransformDomain);
  3256. // Apply a projective transformation to an image.
  3257. LIntExport void ProjectiveTransImage(const HObject& Image, HObject* TransImage, const HTuple& HomMat2D, const HTuple& Interpolation, const HTuple& AdaptImageSize, const HTuple& TransformDomain);
  3258. // Apply an arbitrary affine 2D transformation to an image and specify the output image size.
  3259. LIntExport void AffineTransImageSize(const HObject& Image, HObject* ImageAffineTrans, const HTuple& HomMat2D, const HTuple& Interpolation, const HTuple& Width, const HTuple& Height);
  3260. // Apply an arbitrary affine 2D transformation to images.
  3261. LIntExport void AffineTransImage(const HObject& Image, HObject* ImageAffineTrans, const HTuple& HomMat2D, const HTuple& Interpolation, const HTuple& AdaptImageSize);
  3262. // Zoom an image by a given factor.
  3263. LIntExport void ZoomImageFactor(const HObject& Image, HObject* ImageZoomed, const HTuple& ScaleWidth, const HTuple& ScaleHeight, const HTuple& Interpolation);
  3264. // Zoom an image to a given size.
  3265. LIntExport void ZoomImageSize(const HObject& Image, HObject* ImageZoom, const HTuple& Width, const HTuple& Height, const HTuple& Interpolation);
  3266. // Mirror an image.
  3267. LIntExport void MirrorImage(const HObject& Image, HObject* ImageMirror, const HTuple& Mode);
  3268. // Rotate an image about its center.
  3269. LIntExport void RotateImage(const HObject& Image, HObject* ImageRotate, const HTuple& Phi, const HTuple& Interpolation);
  3270. // Transform an image in polar coordinates back to Cartesian coordinates
  3271. LIntExport void PolarTransImageInv(const HObject& PolarImage, HObject* XYTransImage, const HTuple& Row, const HTuple& Column, const HTuple& AngleStart, const HTuple& AngleEnd, const HTuple& RadiusStart, const HTuple& RadiusEnd, const HTuple& Width, const HTuple& Height, const HTuple& Interpolation);
  3272. // Transform an annular arc in an image to polar coordinates.
  3273. LIntExport void PolarTransImageExt(const HObject& Image, HObject* PolarTransImage, const HTuple& Row, const HTuple& Column, const HTuple& AngleStart, const HTuple& AngleEnd, const HTuple& RadiusStart, const HTuple& RadiusEnd, const HTuple& Width, const HTuple& Height, const HTuple& Interpolation);
  3274. // Transform an image to polar coordinates
  3275. LIntExport void PolarTransImage(const HObject& ImageXY, HObject* ImagePolar, const HTuple& Row, const HTuple& Column, const HTuple& Width, const HTuple& Height);
  3276. // Approximate an affine map from a displacement vector field.
  3277. LIntExport void VectorFieldToHomMat2d(const HObject& VectorField, HTuple* HomMat2D);
  3278. // Deserialize a serialized XLD object.
  3279. LIntExport void DeserializeXld(HObject* XLD, const HTuple& SerializedItemHandle);
  3280. // Serialize an XLD object.
  3281. LIntExport void SerializeXld(const HObject& XLD, HTuple* SerializedItemHandle);
  3282. // Read XLD polygons from a DXF file.
  3283. LIntExport void ReadPolygonXldDxf(HObject* Polygons, const HTuple& FileName, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* DxfStatus);
  3284. // Write XLD polygons to a file in DXF format.
  3285. LIntExport void WritePolygonXldDxf(const HObject& Polygons, const HTuple& FileName);
  3286. // Read XLD contours from a DXF file.
  3287. LIntExport void ReadContourXldDxf(HObject* Contours, const HTuple& FileName, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* DxfStatus);
  3288. // Write XLD contours to a file in DXF format.
  3289. LIntExport void WriteContourXldDxf(const HObject& Contours, const HTuple& FileName);
  3290. // Copy a file to a new location.
  3291. LIntExport void CopyFile(const HTuple& SourceFile, const HTuple& DestinationFile);
  3292. // Set the current working directory.
  3293. LIntExport void SetCurrentDir(const HTuple& DirName);
  3294. // Get the current working directory.
  3295. LIntExport void GetCurrentDir(HTuple* DirName);
  3296. // Delete an empty directory.
  3297. LIntExport void RemoveDir(const HTuple& DirName);
  3298. // Make a directory.
  3299. LIntExport void MakeDir(const HTuple& DirName);
  3300. // List all files in a directory.
  3301. LIntExport void ListFiles(const HTuple& Directory, const HTuple& Options, HTuple* Files);
  3302. // Delete a file.
  3303. LIntExport void DeleteFile(const HTuple& FileName);
  3304. // Check whether file exists.
  3305. LIntExport void FileExists(const HTuple& FileName, HTuple* FileExists);
  3306. // Read an iconic object.
  3307. LIntExport void ReadObject(HObject* Object, const HTuple& FileName);
  3308. // Write an iconic object.
  3309. LIntExport void WriteObject(const HObject& Object, const HTuple& FileName);
  3310. // Deserialize a serialized iconic object.
  3311. LIntExport void DeserializeObject(HObject* Object, const HTuple& SerializedItemHandle);
  3312. // Serialize an iconic object.
  3313. LIntExport void SerializeObject(const HObject& Object, HTuple* SerializedItemHandle);
  3314. // Deserialize a serialized image object.
  3315. LIntExport void DeserializeImage(HObject* Image, const HTuple& SerializedItemHandle);
  3316. // Serialize an image object.
  3317. LIntExport void SerializeImage(const HObject& Image, HTuple* SerializedItemHandle);
  3318. // Deserialize a serialized region.
  3319. LIntExport void DeserializeRegion(HObject* Region, const HTuple& SerializedItemHandle);
  3320. // Serialize a region.
  3321. LIntExport void SerializeRegion(const HObject& Region, HTuple* SerializedItemHandle);
  3322. // Write regions to a file.
  3323. LIntExport void WriteRegion(const HObject& Region, const HTuple& FileName);
  3324. // Write images in graphic formats.
  3325. LIntExport void WriteImage(const HObject& Image, const HTuple& Format, const HTuple& FillColor, const HTuple& FileName);
  3326. // Read images.
  3327. LIntExport void ReadSequence(HObject* Image, const HTuple& HeaderSize, const HTuple& SourceWidth, const HTuple& SourceHeight, const HTuple& StartRow, const HTuple& StartColumn, const HTuple& DestWidth, const HTuple& DestHeight, const HTuple& PixelType, const HTuple& BitOrder, const HTuple& ByteOrder, const HTuple& Pad, const HTuple& Index, const HTuple& FileName);
  3328. // Read binary images or HALCON regions.
  3329. LIntExport void ReadRegion(HObject* Region, const HTuple& FileName);
  3330. // Read an image with different file formats.
  3331. LIntExport void ReadImage(HObject* Image, const HTuple& FileName);
  3332. // Open a file in text or binary format.
  3333. LIntExport void OpenFile(const HTuple& FileName, const HTuple& FileType, HTuple* FileHandle);
  3334. // Write strings and numbers into a text file.
  3335. LIntExport void FwriteString(const HTuple& FileHandle, const HTuple& String);
  3336. // Read a character line from a text file.
  3337. LIntExport void FreadLine(const HTuple& FileHandle, HTuple* OutLine, HTuple* IsEOF);
  3338. // Read a string from a text file.
  3339. LIntExport void FreadString(const HTuple& FileHandle, HTuple* OutString, HTuple* IsEOF);
  3340. // Read one character from a text file.
  3341. LIntExport void FreadChar(const HTuple& FileHandle, HTuple* Char);
  3342. // Write a line break and clear the output buffer.
  3343. LIntExport void FnewLine(const HTuple& FileHandle);
  3344. // Closing a text file.
  3345. LIntExport void CloseFile(const HTuple& FileHandle);
  3346. // This operator is inoperable. It had the following function: Close all open files.
  3347. LIntExport void CloseAllFiles();
  3348. // Test whether contours or polygons are closed.
  3349. LIntExport void TestClosedXld(const HObject& XLD, HTuple* IsClosed);
  3350. // Return gray values of an image at the positions of an XLD contour.
  3351. LIntExport void GetGrayvalContourXld(const HObject& Image, const HObject& Contour, const HTuple& Interpolation, HTuple* Grayval);
  3352. // Arbitrary geometric moments of contours or polygons treated as point clouds.
  3353. LIntExport void MomentsAnyPointsXld(const HObject& XLD, const HTuple& Mode, const HTuple& Area, const HTuple& CenterRow, const HTuple& CenterCol, const HTuple& P, const HTuple& Q, HTuple* M);
  3354. // Anisometry of contours or polygons treated as point clouds.
  3355. LIntExport void EccentricityPointsXld(const HObject& XLD, HTuple* Anisometry);
  3356. // Parameters of the equivalent ellipse of contours or polygons treated as point clouds.
  3357. LIntExport void EllipticAxisPointsXld(const HObject& XLD, HTuple* Ra, HTuple* Rb, HTuple* Phi);
  3358. // Orientation of contours or polygons treated as point clouds.
  3359. LIntExport void OrientationPointsXld(const HObject& XLD, HTuple* Phi);
  3360. // Geometric moments M20@f$M_{20}$, M02@f$M_{02}$, and M11@f$M_{11}$ of contours or polygons treated as point clouds.
  3361. LIntExport void MomentsPointsXld(const HObject& XLD, HTuple* M11, HTuple* M20, HTuple* M02);
  3362. // Area and center of gravity (centroid) of contours and polygons treated as point clouds.
  3363. LIntExport void AreaCenterPointsXld(const HObject& XLD, HTuple* Area, HTuple* Row, HTuple* Column);
  3364. // Test XLD contours or polygons for self intersection.
  3365. LIntExport void TestSelfIntersectionXld(const HObject& XLD, const HTuple& CloseXLD, HTuple* DoesIntersect);
  3366. // Choose all contours or polygons containing a given point.
  3367. LIntExport void SelectXldPoint(const HObject& XLDs, HObject* DestXLDs, const HTuple& Row, const HTuple& Column);
  3368. // Test whether one or more contours or polygons enclose the given point(s).
  3369. LIntExport void TestXldPoint(const HObject& XLD, const HTuple& Row, const HTuple& Column, HTuple* IsInside);
  3370. // Select contours or polygons using shape features.
  3371. LIntExport void SelectShapeXld(const HObject& XLD, HObject* SelectedXLD, const HTuple& Features, const HTuple& Operation, const HTuple& Min, const HTuple& Max);
  3372. // Orientation of contours or polygons.
  3373. LIntExport void OrientationXld(const HObject& XLD, HTuple* Phi);
  3374. // Shape features derived from the ellipse parameters of contours or polygons.
  3375. LIntExport void EccentricityXld(const HObject& XLD, HTuple* Anisometry, HTuple* Bulkiness, HTuple* StructureFactor);
  3376. // Shape factor for the compactness of contours or polygons.
  3377. LIntExport void CompactnessXld(const HObject& XLD, HTuple* Compactness);
  3378. // Maximum distance between two contour or polygon points.
  3379. LIntExport void DiameterXld(const HObject& XLD, HTuple* Row1, HTuple* Column1, HTuple* Row2, HTuple* Column2, HTuple* Diameter);
  3380. // Shape factor for the convexity of contours or polygons.
  3381. LIntExport void ConvexityXld(const HObject& XLD, HTuple* Convexity);
  3382. // Shape factor for the circularity (similarity to a circle) of contours or polygons.
  3383. LIntExport void CircularityXld(const HObject& XLD, HTuple* Circularity);
  3384. // Parameters of the equivalent ellipse of contours or polygons.
  3385. LIntExport void EllipticAxisXld(const HObject& XLD, HTuple* Ra, HTuple* Rb, HTuple* Phi);
  3386. // Smallest enclosing rectangle with arbitrary orientation of contours or polygons.
  3387. LIntExport void SmallestRectangle2Xld(const HObject& XLD, HTuple* Row, HTuple* Column, HTuple* Phi, HTuple* Length1, HTuple* Length2);
  3388. // Enclosing rectangle parallel to the coordinate axes of contours or polygons.
  3389. LIntExport void SmallestRectangle1Xld(const HObject& XLD, HTuple* Row1, HTuple* Column1, HTuple* Row2, HTuple* Column2);
  3390. // Smallest enclosing circle of contours or polygons.
  3391. LIntExport void SmallestCircleXld(const HObject& XLD, HTuple* Row, HTuple* Column, HTuple* Radius);
  3392. // Transform the shape of contours or polygons.
  3393. LIntExport void ShapeTransXld(const HObject& XLD, HObject* XLDTrans, const HTuple& Type);
  3394. // Length of contours or polygons.
  3395. LIntExport void LengthXld(const HObject& XLD, HTuple* Length);
  3396. // Arbitrary geometric moments of contours or polygons.
  3397. LIntExport void MomentsAnyXld(const HObject& XLD, const HTuple& Mode, const HTuple& PointOrder, const HTuple& Area, const HTuple& CenterRow, const HTuple& CenterCol, const HTuple& P, const HTuple& Q, HTuple* M);
  3398. // Geometric moments M20@f$M_{20}$, M02@f$M_{02}$, and M11@f$M_{11}$ of contours or polygons.
  3399. LIntExport void MomentsXld(const HObject& XLD, HTuple* M11, HTuple* M20, HTuple* M02);
  3400. // Area and center of gravity (centroid) of contours and polygons.
  3401. LIntExport void AreaCenterXld(const HObject& XLD, HTuple* Area, HTuple* Row, HTuple* Column, HTuple* PointOrder);
  3402. // Geometric moments of regions.
  3403. LIntExport void MomentsRegionCentralInvar(const HObject& Regions, HTuple* PSI1, HTuple* PSI2, HTuple* PSI3, HTuple* PSI4);
  3404. // Geometric moments of regions.
  3405. LIntExport void MomentsRegionCentral(const HObject& Regions, HTuple* I1, HTuple* I2, HTuple* I3, HTuple* I4);
  3406. // Geometric moments of regions.
  3407. LIntExport void MomentsRegion3rdInvar(const HObject& Regions, HTuple* M21, HTuple* M12, HTuple* M03, HTuple* M30);
  3408. // Geometric moments of regions.
  3409. LIntExport void MomentsRegion3rd(const HObject& Regions, HTuple* M21, HTuple* M12, HTuple* M03, HTuple* M30);
  3410. // Smallest surrounding rectangle with any orientation.
  3411. LIntExport void SmallestRectangle2(const HObject& Regions, HTuple* Row, HTuple* Column, HTuple* Phi, HTuple* Length1, HTuple* Length2);
  3412. // Surrounding rectangle parallel to the coordinate axes.
  3413. LIntExport void SmallestRectangle1(const HObject& Regions, HTuple* Row1, HTuple* Column1, HTuple* Row2, HTuple* Column2);
  3414. // Smallest surrounding circle of a region.
  3415. LIntExport void SmallestCircle(const HObject& Regions, HTuple* Row, HTuple* Column, HTuple* Radius);
  3416. // Choose regions having a certain relation to each other.
  3417. LIntExport void SelectShapeProto(const HObject& Regions, const HObject& Pattern, HObject* SelectedRegions, const HTuple& Feature, const HTuple& Min, const HTuple& Max);
  3418. // Calculate shape features of regions.
  3419. LIntExport void RegionFeatures(const HObject& Regions, const HTuple& Features, HTuple* Value);
  3420. // Choose regions with the aid of shape features.
  3421. LIntExport void SelectShape(const HObject& Regions, HObject* SelectedRegions, const HTuple& Features, const HTuple& Operation, const HTuple& Min, const HTuple& Max);
  3422. // Characteristic values for runlength coding of regions.
  3423. LIntExport void RunlengthFeatures(const HObject& Regions, HTuple* NumRuns, HTuple* KFactor, HTuple* LFactor, HTuple* MeanLength, HTuple* Bytes);
  3424. // Search direct neighbors.
  3425. LIntExport void FindNeighbors(const HObject& Regions1, const HObject& Regions2, const HTuple& MaxDistance, HTuple* RegionIndex1, HTuple* RegionIndex2);
  3426. // Geometric moments of regions.
  3427. LIntExport void MomentsRegion2ndRelInvar(const HObject& Regions, HTuple* PHI1, HTuple* PHI2);
  3428. // Geometric moments of regions.
  3429. LIntExport void MomentsRegion2ndInvar(const HObject& Regions, HTuple* M11, HTuple* M20, HTuple* M02);
  3430. // Calculate the geometric moments of regions.
  3431. LIntExport void MomentsRegion2nd(const HObject& Regions, HTuple* M11, HTuple* M20, HTuple* M02, HTuple* Ia, HTuple* Ib);
  3432. // Minimum distance between the contour pixels of two regions each.
  3433. LIntExport void DistanceRrMin(const HObject& Regions1, const HObject& Regions2, HTuple* MinDistance, HTuple* Row1, HTuple* Column1, HTuple* Row2, HTuple* Column2);
  3434. // Minimum distance between two regions with the help of dilation.
  3435. LIntExport void DistanceRrMinDil(const HObject& Regions1, const HObject& Regions2, HTuple* MinDistance);
  3436. // Maximal distance between two boundary points of a region.
  3437. LIntExport void DiameterRegion(const HObject& Regions, HTuple* Row1, HTuple* Column1, HTuple* Row2, HTuple* Column2, HTuple* Diameter);
  3438. // Test if the region contains a given point.
  3439. LIntExport void TestRegionPoint(const HObject& Regions, const HTuple& Row, const HTuple& Column, HTuple* IsInside);
  3440. // Index of all regions containing a given pixel.
  3441. LIntExport void GetRegionIndex(const HObject& Regions, const HTuple& Row, const HTuple& Column, HTuple* Index);
  3442. // Choose all regions containing a given pixel.
  3443. LIntExport void SelectRegionPoint(const HObject& Regions, HObject* DestRegions, const HTuple& Row, const HTuple& Column);
  3444. // Select regions of a given shape.
  3445. LIntExport void SelectShapeStd(const HObject& Regions, HObject* SelectedRegions, const HTuple& Shape, const HTuple& Percent);
  3446. // Hamming distance between two regions using normalization.
  3447. LIntExport void HammingDistanceNorm(const HObject& Regions1, const HObject& Regions2, const HTuple& Norm, HTuple* Distance, HTuple* Similarity);
  3448. // Hamming distance between two regions.
  3449. LIntExport void HammingDistance(const HObject& Regions1, const HObject& Regions2, HTuple* Distance, HTuple* Similarity);
  3450. // Shape features derived from the ellipse parameters.
  3451. LIntExport void Eccentricity(const HObject& Regions, HTuple* Anisometry, HTuple* Bulkiness, HTuple* StructureFactor);
  3452. // Calculate the Euler number.
  3453. LIntExport void EulerNumber(const HObject& Regions, HTuple* EulerNumber);
  3454. // Orientation of a region.
  3455. LIntExport void OrientationRegion(const HObject& Regions, HTuple* Phi);
  3456. // Calculate the parameters of the equivalent ellipse.
  3457. LIntExport void EllipticAxis(const HObject& Regions, HTuple* Ra, HTuple* Rb, HTuple* Phi);
  3458. // Pose relation of regions.
  3459. LIntExport void SelectRegionSpatial(const HObject& Regions1, const HObject& Regions2, const HTuple& Direction, HTuple* RegionIndex1, HTuple* RegionIndex2);
  3460. // Pose relation of regions with regard to
  3461. LIntExport void SpatialRelation(const HObject& Regions1, const HObject& Regions2, const HTuple& Percent, HTuple* RegionIndex1, HTuple* RegionIndex2, HTuple* Relation1, HTuple* Relation2);
  3462. // Shape factor for the convexity of a region.
  3463. LIntExport void Convexity(const HObject& Regions, HTuple* Convexity);
  3464. // Contour length of a region.
  3465. LIntExport void Contlength(const HObject& Regions, HTuple* ContLength);
  3466. // Number of connection components and holes
  3467. LIntExport void ConnectAndHoles(const HObject& Regions, HTuple* NumConnected, HTuple* NumHoles);
  3468. // Shape factor for the rectangularity of a region.
  3469. LIntExport void Rectangularity(const HObject& Regions, HTuple* Rectangularity);
  3470. // Shape factor for the compactness of a region.
  3471. LIntExport void Compactness(const HObject& Regions, HTuple* Compactness);
  3472. // Shape factor for the circularity (similarity to a circle) of a region.
  3473. LIntExport void Circularity(const HObject& Regions, HTuple* Circularity);
  3474. // Compute the area of holes of regions.
  3475. LIntExport void AreaHoles(const HObject& Regions, HTuple* Area);
  3476. // Area and center of regions.
  3477. LIntExport void AreaCenter(const HObject& Regions, HTuple* Area, HTuple* Row, HTuple* Column);
  3478. // Distribution of runs needed for runlength encoding of a region.
  3479. LIntExport void RunlengthDistribution(const HObject& Region, HTuple* Foreground, HTuple* Background);
  3480. // Shape factors from contour.
  3481. LIntExport void Roundness(const HObject& Regions, HTuple* Distance, HTuple* Sigma, HTuple* Roundness, HTuple* Sides);
  3482. // Largest inner rectangle of a region.
  3483. LIntExport void InnerRectangle1(const HObject& Regions, HTuple* Row1, HTuple* Column1, HTuple* Row2, HTuple* Column2);
  3484. // Largest inner circle of a region.
  3485. LIntExport void InnerCircle(const HObject& Regions, HTuple* Row, HTuple* Column, HTuple* Radius);
  3486. // Select the longest input lines.
  3487. LIntExport void SelectLinesLongest(const HTuple& RowBeginIn, const HTuple& ColBeginIn, const HTuple& RowEndIn, const HTuple& ColEndIn, const HTuple& Num, HTuple* RowBeginOut, HTuple* ColBeginOut, HTuple* RowEndOut, HTuple* ColEndOut);
  3488. // Partition lines according to various criteria.
  3489. LIntExport void PartitionLines(const HTuple& RowBeginIn, const HTuple& ColBeginIn, const HTuple& RowEndIn, const HTuple& ColEndIn, const HTuple& Feature, const HTuple& Operation, const HTuple& Min, const HTuple& Max, HTuple* RowBeginOut, HTuple* ColBeginOut, HTuple* RowEndOut, HTuple* ColEndOut, HTuple* FailRowBOut, HTuple* FailColBOut, HTuple* FailRowEOut, HTuple* FailColEOut);
  3490. // Select lines according to various criteria.
  3491. LIntExport void SelectLines(const HTuple& RowBeginIn, const HTuple& ColBeginIn, const HTuple& RowEndIn, const HTuple& ColEndIn, const HTuple& Feature, const HTuple& Operation, const HTuple& Min, const HTuple& Max, HTuple* RowBeginOut, HTuple* ColBeginOut, HTuple* RowEndOut, HTuple* ColEndOut);
  3492. // Calculate the center of gravity, length, and orientation of a line.
  3493. LIntExport void LinePosition(const HTuple& RowBegin, const HTuple& ColBegin, const HTuple& RowEnd, const HTuple& ColEnd, HTuple* RowCenter, HTuple* ColCenter, HTuple* Length, HTuple* Phi);
  3494. // Calculate the orientation of lines.
  3495. LIntExport void LineOrientation(const HTuple& RowBegin, const HTuple& ColBegin, const HTuple& RowEnd, const HTuple& ColEnd, HTuple* Phi);
  3496. // Approximate a contour by arcs and lines.
  3497. LIntExport void ApproxChainSimple(const HTuple& Row, const HTuple& Column, HTuple* ArcCenterRow, HTuple* ArcCenterCol, HTuple* ArcAngle, HTuple* ArcBeginRow, HTuple* ArcBeginCol, HTuple* LineBeginRow, HTuple* LineBeginCol, HTuple* LineEndRow, HTuple* LineEndCol, HTuple* Order);
  3498. // Approximate a contour by arcs and lines.
  3499. LIntExport void ApproxChain(const HTuple& Row, const HTuple& Column, const HTuple& MinWidthCoord, const HTuple& MaxWidthCoord, const HTuple& ThreshStart, const HTuple& ThreshEnd, const HTuple& ThreshStep, const HTuple& MinWidthSmooth, const HTuple& MaxWidthSmooth, const HTuple& MinWidthCurve, const HTuple& MaxWidthCurve, const HTuple& Weight1, const HTuple& Weight2, const HTuple& Weight3, HTuple* ArcCenterRow, HTuple* ArcCenterCol, HTuple* ArcAngle, HTuple* ArcBeginRow, HTuple* ArcBeginCol, HTuple* LineBeginRow, HTuple* LineBeginCol, HTuple* LineEndRow, HTuple* LineEndCol, HTuple* Order);
  3500. // Calculate gray value moments and approximation by a first order surface (plane).
  3501. LIntExport void FitSurfaceFirstOrder(const HObject& Regions, const HObject& Image, const HTuple& Algorithm, const HTuple& Iterations, const HTuple& ClippingFactor, HTuple* Alpha, HTuple* Beta, HTuple* Gamma);
  3502. // Calculate gray value moments and approximation by a second order surface.
  3503. LIntExport void FitSurfaceSecondOrder(const HObject& Regions, const HObject& Image, const HTuple& Algorithm, const HTuple& Iterations, const HTuple& ClippingFactor, HTuple* Alpha, HTuple* Beta, HTuple* Gamma, HTuple* Delta, HTuple* Epsilon, HTuple* Zeta);
  3504. // Create a curved gray surface with second order polynomial.
  3505. LIntExport void GenImageSurfaceSecondOrder(HObject* ImageSurface, const HTuple& Type, const HTuple& Alpha, const HTuple& Beta, const HTuple& Gamma, const HTuple& Delta, const HTuple& Epsilon, const HTuple& Zeta, const HTuple& Row, const HTuple& Column, const HTuple& Width, const HTuple& Height);
  3506. // Create a tilted gray surface with first order polynomial.
  3507. LIntExport void GenImageSurfaceFirstOrder(HObject* ImageSurface, const HTuple& Type, const HTuple& Alpha, const HTuple& Beta, const HTuple& Gamma, const HTuple& Row, const HTuple& Column, const HTuple& Width, const HTuple& Height);
  3508. // Determine a histogram of features along all threshold values.
  3509. LIntExport void ShapeHistoPoint(const HObject& Region, const HObject& Image, const HTuple& Feature, const HTuple& Row, const HTuple& Column, HTuple* AbsoluteHisto, HTuple* RelativeHisto);
  3510. // Determine a histogram of features along all threshold values.
  3511. LIntExport void ShapeHistoAll(const HObject& Region, const HObject& Image, const HTuple& Feature, HTuple* AbsoluteHisto, HTuple* RelativeHisto);
  3512. // Calculates gray value features for a set of regions.
  3513. LIntExport void GrayFeatures(const HObject& Regions, const HObject& Image, const HTuple& Features, HTuple* Value);
  3514. // Select regions based on gray value features.
  3515. LIntExport void SelectGray(const HObject& Regions, const HObject& Image, HObject* SelectedRegions, const HTuple& Features, const HTuple& Operation, const HTuple& Min, const HTuple& Max);
  3516. // Determine the minimum and maximum gray values within regions.
  3517. LIntExport void MinMaxGray(const HObject& Regions, const HObject& Image, const HTuple& Percent, HTuple* Min, HTuple* Max, HTuple* Range);
  3518. // Calculate the mean and deviation of gray values.
  3519. LIntExport void Intensity(const HObject& Regions, const HObject& Image, HTuple* Mean, HTuple* Deviation);
  3520. // Calculate the gray value distribution of a single channel image within a certain gray value range.
  3521. LIntExport void GrayHistoRange(const HObject& Regions, const HObject& Image, const HTuple& Min, const HTuple& Max, const HTuple& NumBins, HTuple* Histo, HTuple* BinSize);
  3522. // Calculate the histogram of two-channel gray value images.
  3523. LIntExport void Histo2dim(const HObject& Regions, const HObject& ImageCol, const HObject& ImageRow, HObject* Histo2Dim);
  3524. // Calculate the gray value distribution.
  3525. LIntExport void GrayHistoAbs(const HObject& Regions, const HObject& Image, const HTuple& Quantization, HTuple* AbsoluteHisto);
  3526. // Calculate the gray value distribution.
  3527. LIntExport void GrayHisto(const HObject& Regions, const HObject& Image, HTuple* AbsoluteHisto, HTuple* RelativeHisto);
  3528. // Determine the entropy and anisotropy of images.
  3529. LIntExport void EntropyGray(const HObject& Regions, const HObject& Image, HTuple* Entropy, HTuple* Anisotropy);
  3530. // Calculate gray value features from a co-occurrence matrix.
  3531. LIntExport void CoocFeatureMatrix(const HObject& CoocMatrix, HTuple* Energy, HTuple* Correlation, HTuple* Homogeneity, HTuple* Contrast);
  3532. // Calculate a co-occurrence matrix and derive gray value features thereof.
  3533. LIntExport void CoocFeatureImage(const HObject& Regions, const HObject& Image, const HTuple& LdGray, const HTuple& Direction, HTuple* Energy, HTuple* Correlation, HTuple* Homogeneity, HTuple* Contrast);
  3534. // Calculate the co-occurrence matrix of a region in an image.
  3535. LIntExport void GenCoocMatrix(const HObject& Regions, const HObject& Image, HObject* Matrix, const HTuple& LdGray, const HTuple& Direction);
  3536. // Calculate gray value moments and approximation by a plane.
  3537. LIntExport void MomentsGrayPlane(const HObject& Regions, const HObject& Image, HTuple* MRow, HTuple* MCol, HTuple* Alpha, HTuple* Beta, HTuple* Mean);
  3538. // Calculate the deviation of the gray values from the approximating image plane.
  3539. LIntExport void PlaneDeviation(const HObject& Regions, const HObject& Image, HTuple* Deviation);
  3540. // Compute the orientation and major axes of a region in a gray value image.
  3541. LIntExport void EllipticAxisGray(const HObject& Regions, const HObject& Image, HTuple* Ra, HTuple* Rb, HTuple* Phi);
  3542. // Compute the area and center of gravity of a region in a gray value image.
  3543. LIntExport void AreaCenterGray(const HObject& Regions, const HObject& Image, HTuple* Area, HTuple* Row, HTuple* Column);
  3544. // Calculate horizontal and vertical gray-value projections.
  3545. LIntExport void GrayProjections(const HObject& Region, const HObject& Image, const HTuple& Mode, HTuple* HorProjection, HTuple* VertProjection);
  3546. // Access iconic objects that were created during the search for 2D data code symbols.
  3547. LIntExport void GetDataCode2dObjects(HObject* DataCodeObjects, const HTuple& DataCodeHandle, const HTuple& CandidateHandle, const HTuple& ObjectName);
  3548. // Get the alphanumerical results that were accumulated during the search for 2D data code symbols.
  3549. LIntExport void GetDataCode2dResults(const HTuple& DataCodeHandle, const HTuple& CandidateHandle, const HTuple& ResultNames, HTuple* ResultValues);
  3550. // Detect and read 2D data code symbols in an image or train the 2D data code model.
  3551. LIntExport void FindDataCode2d(const HObject& Image, HObject* SymbolXLDs, const HTuple& DataCodeHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* ResultHandles, HTuple* DecodedDataStrings);
  3552. // Set selected parameters of the 2D data code model.
  3553. LIntExport void SetDataCode2dParam(const HTuple& DataCodeHandle, const HTuple& GenParamName, const HTuple& GenParamValue);
  3554. // Get one or several parameters that describe the 2D data code model.
  3555. LIntExport void GetDataCode2dParam(const HTuple& DataCodeHandle, const HTuple& GenParamName, HTuple* GenParamValue);
  3556. // Get for a given 2D data code model the names of the generic parameters or objects that can be used in the other 2D data code operators.
  3557. LIntExport void QueryDataCode2dParams(const HTuple& DataCodeHandle, const HTuple& QueryName, HTuple* GenParamName);
  3558. // Deserialize a serialized 2D data code model.
  3559. LIntExport void DeserializeDataCode2dModel(const HTuple& SerializedItemHandle, HTuple* DataCodeHandle);
  3560. // Serialize a 2D data code model.
  3561. LIntExport void SerializeDataCode2dModel(const HTuple& DataCodeHandle, HTuple* SerializedItemHandle);
  3562. // Read a 2D data code model from a file and create a new model.
  3563. LIntExport void ReadDataCode2dModel(const HTuple& FileName, HTuple* DataCodeHandle);
  3564. // Writes a 2D data code model into a file.
  3565. LIntExport void WriteDataCode2dModel(const HTuple& DataCodeHandle, const HTuple& FileName);
  3566. // This operator is inoperable. It had the following function: Delete all 2D data code models and free the allocated memory.
  3567. LIntExport void ClearAllDataCode2dModels();
  3568. // Delete a 2D data code model and free the allocated memory.
  3569. LIntExport void ClearDataCode2dModel(const HTuple& DataCodeHandle);
  3570. // Create a model of a 2D data code class.
  3571. LIntExport void CreateDataCode2dModel(const HTuple& SymbolType, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* DataCodeHandle);
  3572. // Deserialize serialized training data for classifiers.
  3573. LIntExport void DeserializeClassTrainData(const HTuple& SerializedItemHandle, HTuple* ClassTrainDataHandle);
  3574. // Serialize training data for classifiers.
  3575. LIntExport void SerializeClassTrainData(const HTuple& ClassTrainDataHandle, HTuple* SerializedItemHandle);
  3576. // Read the training data for classifiers from a file.
  3577. LIntExport void ReadClassTrainData(const HTuple& FileName, HTuple* ClassTrainDataHandle);
  3578. // Save the training data for classifiers in a file.
  3579. LIntExport void WriteClassTrainData(const HTuple& ClassTrainDataHandle, const HTuple& FileName);
  3580. // Select certain features from training data to create training data containing less features.
  3581. LIntExport void SelectSubFeatureClassTrainData(const HTuple& ClassTrainDataHandle, const HTuple& SubFeatureIndices, HTuple* SelectedClassTrainDataHandle);
  3582. // Define subfeatures in training data.
  3583. LIntExport void SetFeatureLengthsClassTrainData(const HTuple& ClassTrainDataHandle, const HTuple& SubFeatureLength, const HTuple& Names);
  3584. // Get the training data of a Gaussian Mixture Model (GMM).
  3585. LIntExport void GetClassTrainDataGmm(const HTuple& GMMHandle, HTuple* ClassTrainDataHandle);
  3586. // Add training data to a Gaussian Mixture Model (GMM).
  3587. LIntExport void AddClassTrainDataGmm(const HTuple& GMMHandle, const HTuple& ClassTrainDataHandle);
  3588. // Get the training data of a multilayer perceptron (MLP).
  3589. LIntExport void GetClassTrainDataMlp(const HTuple& MLPHandle, HTuple* ClassTrainDataHandle);
  3590. // Add training data to a multilayer perceptron (MLP).
  3591. LIntExport void AddClassTrainDataMlp(const HTuple& MLPHandle, const HTuple& ClassTrainDataHandle);
  3592. // Get the training data of a k-nearest neighbors (k-NN) classifier.
  3593. LIntExport void GetClassTrainDataKnn(const HTuple& KNNHandle, HTuple* ClassTrainDataHandle);
  3594. // Add training data to a k-nearest neighbors (k-NN) classifier.
  3595. LIntExport void AddClassTrainDataKnn(const HTuple& KNNHandle, const HTuple& ClassTrainDataHandle);
  3596. // Get the training data of a support vector machine (SVM).
  3597. LIntExport void GetClassTrainDataSvm(const HTuple& SVMHandle, HTuple* ClassTrainDataHandle);
  3598. // Add training data to a support vector machine (SVM).
  3599. LIntExport void AddClassTrainDataSvm(const HTuple& SVMHandle, const HTuple& ClassTrainDataHandle);
  3600. // Return the number of training samples stored in the training data.
  3601. LIntExport void GetSampleNumClassTrainData(const HTuple& ClassTrainDataHandle, HTuple* NumSamples);
  3602. // Return a training sample from training data.
  3603. LIntExport void GetSampleClassTrainData(const HTuple& ClassTrainDataHandle, const HTuple& IndexSample, HTuple* Features, HTuple* ClassID);
  3604. // This operator is inoperable. It had the following function: Clear all training data for classifiers.
  3605. LIntExport void ClearAllClassTrainData();
  3606. // Clears training data for classifiers.
  3607. LIntExport void ClearClassTrainData(const HTuple& ClassTrainDataHandle);
  3608. // Add a training sample to training data.
  3609. LIntExport void AddSampleClassTrainData(const HTuple& ClassTrainDataHandle, const HTuple& Order, const HTuple& Features, const HTuple& ClassID);
  3610. // Create a handle for training data for classifiers.
  3611. LIntExport void CreateClassTrainData(const HTuple& NumDim, HTuple* ClassTrainDataHandle);
  3612. // Selects an optimal combination of features to classify the provided data.
  3613. LIntExport void SelectFeatureSetMlp(const HTuple& ClassTrainDataHandle, const HTuple& SelectionMethod, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* MLPHandle, HTuple* SelectedFeatureIndices, HTuple* Score);
  3614. // Selects an optimal combination of features to classify the provided data.
  3615. LIntExport void SelectFeatureSetSvm(const HTuple& ClassTrainDataHandle, const HTuple& SelectionMethod, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* SVMHandle, HTuple* SelectedFeatureIndices, HTuple* Score);
  3616. // Selects an optimal combination from a set of features to classify the provided data.
  3617. LIntExport void SelectFeatureSetGmm(const HTuple& ClassTrainDataHandle, const HTuple& SelectionMethod, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* GMMHandle, HTuple* SelectedFeatureIndices, HTuple* Score);
  3618. // Selects an optimal subset from a set of features to solve a certain classification problem.
  3619. LIntExport void SelectFeatureSetKnn(const HTuple& ClassTrainDataHandle, const HTuple& SelectionMethod, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* KNNHandle, HTuple* SelectedFeatureIndices, HTuple* Score);
  3620. // This operator is inoperable. It had the following function: Clear all k-NN classifiers.
  3621. LIntExport void ClearAllClassKnn();
  3622. // Clear a k-NN classifier.
  3623. LIntExport void ClearClassKnn(const HTuple& KNNHandle);
  3624. // Return the number of training samples stored in the training data of a k-nearest neighbors (k-NN) classifier.
  3625. LIntExport void GetSampleNumClassKnn(const HTuple& KNNHandle, HTuple* NumSamples);
  3626. // Return a training sample from the training data of a k-nearest neighbors (k-NN) classifier.
  3627. LIntExport void GetSampleClassKnn(const HTuple& KNNHandle, const HTuple& IndexSample, HTuple* Features, HTuple* ClassID);
  3628. // Deserialize a serialized k-NN classifier.
  3629. LIntExport void DeserializeClassKnn(const HTuple& SerializedItemHandle, HTuple* KNNHandle);
  3630. // Serialize a k-NN classifier.
  3631. LIntExport void SerializeClassKnn(const HTuple& KNNHandle, HTuple* SerializedItemHandle);
  3632. // Read the k-NN classifier from a file.
  3633. LIntExport void ReadClassKnn(const HTuple& FileName, HTuple* KNNHandle);
  3634. // Save the k-NN classifier in a file.
  3635. LIntExport void WriteClassKnn(const HTuple& KNNHandle, const HTuple& FileName);
  3636. // Get parameters of a k-NN classification.
  3637. LIntExport void GetParamsClassKnn(const HTuple& KNNHandle, const HTuple& GenParamName, HTuple* GenParamValue);
  3638. // Set parameters for k-NN classification.
  3639. LIntExport void SetParamsClassKnn(const HTuple& KNNHandle, const HTuple& GenParamName, const HTuple& GenParamValue);
  3640. // Search for the next neighbors for a given feature vector.
  3641. LIntExport void ClassifyClassKnn(const HTuple& KNNHandle, const HTuple& Features, HTuple* Result, HTuple* Rating);
  3642. // Creates the search trees for a k-NN classifier.
  3643. LIntExport void TrainClassKnn(const HTuple& KNNHandle, const HTuple& GenParamName, const HTuple& GenParamValue);
  3644. // Add a sample to a k-nearest neighbors (k-NN) classifier.
  3645. LIntExport void AddSampleClassKnn(const HTuple& KNNHandle, const HTuple& Features, const HTuple& ClassID);
  3646. // Create a k-nearest neighbors (k-NN) classifier.
  3647. LIntExport void CreateClassKnn(const HTuple& NumDim, HTuple* KNNHandle);
  3648. // This operator is inoperable. It had the following function: Clear all look-up table classifiers.
  3649. LIntExport void ClearAllClassLut();
  3650. // Clear a look-up table classifier.
  3651. LIntExport void ClearClassLut(const HTuple& ClassLUTHandle);
  3652. // Create a look-up table using a k-nearest neighbors classifier (k-NN) to classify byte images.
  3653. LIntExport void CreateClassLutKnn(const HTuple& KNNHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* ClassLUTHandle);
  3654. // Create a look-up table using a gaussian mixture model to classify byte images.
  3655. LIntExport void CreateClassLutGmm(const HTuple& GMMHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* ClassLUTHandle);
  3656. // Create a look-up table using a Support-Vector-Machine to classify byte images.
  3657. LIntExport void CreateClassLutSvm(const HTuple& SVMHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* ClassLUTHandle);
  3658. // Create a look-up table using a multi-layer perceptron to classify byte images.
  3659. LIntExport void CreateClassLutMlp(const HTuple& MLPHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* ClassLUTHandle);
  3660. // This operator is inoperable. It had the following function: Clear all Gaussian Mixture Models.
  3661. LIntExport void ClearAllClassGmm();
  3662. // Clear a Gaussian Mixture Model.
  3663. LIntExport void ClearClassGmm(const HTuple& GMMHandle);
  3664. // Clear the training data of a Gaussian Mixture Model.
  3665. LIntExport void ClearSamplesClassGmm(const HTuple& GMMHandle);
  3666. // Deserialize a serialized Gaussian Mixture Model.
  3667. LIntExport void DeserializeClassGmm(const HTuple& SerializedItemHandle, HTuple* GMMHandle);
  3668. // Serialize a Gaussian Mixture Model (GMM).
  3669. LIntExport void SerializeClassGmm(const HTuple& GMMHandle, HTuple* SerializedItemHandle);
  3670. // Read a Gaussian Mixture Model from a file.
  3671. LIntExport void ReadClassGmm(const HTuple& FileName, HTuple* GMMHandle);
  3672. // Write a Gaussian Mixture Model to a file.
  3673. LIntExport void WriteClassGmm(const HTuple& GMMHandle, const HTuple& FileName);
  3674. // Read the training data of a Gaussian Mixture Model from a file.
  3675. LIntExport void ReadSamplesClassGmm(const HTuple& GMMHandle, const HTuple& FileName);
  3676. // Write the training data of a Gaussian Mixture Model to a file.
  3677. LIntExport void WriteSamplesClassGmm(const HTuple& GMMHandle, const HTuple& FileName);
  3678. // Calculate the class of a feature vector by a Gaussian Mixture Model.
  3679. LIntExport void ClassifyClassGmm(const HTuple& GMMHandle, const HTuple& Features, const HTuple& Num, HTuple* ClassID, HTuple* ClassProb, HTuple* Density, HTuple* KSigmaProb);
  3680. // Evaluate a feature vector by a Gaussian Mixture Model.
  3681. LIntExport void EvaluateClassGmm(const HTuple& GMMHandle, const HTuple& Features, HTuple* ClassProb, HTuple* Density, HTuple* KSigmaProb);
  3682. // Train a Gaussian Mixture Model.
  3683. LIntExport void TrainClassGmm(const HTuple& GMMHandle, const HTuple& MaxIter, const HTuple& Threshold, const HTuple& ClassPriors, const HTuple& Regularize, HTuple* Centers, HTuple* Iter);
  3684. // Compute the information content of the preprocessed feature vectors of a GMM.
  3685. LIntExport void GetPrepInfoClassGmm(const HTuple& GMMHandle, const HTuple& Preprocessing, HTuple* InformationCont, HTuple* CumInformationCont);
  3686. // Return the number of training samples stored in the training data of a Gaussian Mixture Model (GMM).
  3687. LIntExport void GetSampleNumClassGmm(const HTuple& GMMHandle, HTuple* NumSamples);
  3688. // Return a training sample from the training data of a Gaussian Mixture Models (GMM).
  3689. LIntExport void GetSampleClassGmm(const HTuple& GMMHandle, const HTuple& NumSample, HTuple* Features, HTuple* ClassID);
  3690. // Add a training sample to the training data of a Gaussian Mixture Model.
  3691. LIntExport void AddSampleClassGmm(const HTuple& GMMHandle, const HTuple& Features, const HTuple& ClassID, const HTuple& Randomize);
  3692. // Return the parameters of a Gaussian Mixture Model.
  3693. LIntExport void GetParamsClassGmm(const HTuple& GMMHandle, HTuple* NumDim, HTuple* NumClasses, HTuple* MinCenters, HTuple* MaxCenters, HTuple* CovarType);
  3694. // Create a Gaussian Mixture Model for classification
  3695. LIntExport void CreateClassGmm(const HTuple& NumDim, const HTuple& NumClasses, const HTuple& NumCenters, const HTuple& CovarType, const HTuple& Preprocessing, const HTuple& NumComponents, const HTuple& RandSeed, HTuple* GMMHandle);
  3696. // This operator is inoperable. It had the following function: Clear all support vector machines.
  3697. LIntExport void ClearAllClassSvm();
  3698. // Clear a support vector machine.
  3699. LIntExport void ClearClassSvm(const HTuple& SVMHandle);
  3700. // Clear the training data of a support vector machine.
  3701. LIntExport void ClearSamplesClassSvm(const HTuple& SVMHandle);
  3702. // Deserialize a serialized support vector machine (SVM).
  3703. LIntExport void DeserializeClassSvm(const HTuple& SerializedItemHandle, HTuple* SVMHandle);
  3704. // Serialize a support vector machine (SVM).
  3705. LIntExport void SerializeClassSvm(const HTuple& SVMHandle, HTuple* SerializedItemHandle);
  3706. // Read a support vector machine from a file.
  3707. LIntExport void ReadClassSvm(const HTuple& FileName, HTuple* SVMHandle);
  3708. // Write a support vector machine to a file.
  3709. LIntExport void WriteClassSvm(const HTuple& SVMHandle, const HTuple& FileName);
  3710. // Read the training data of a support vector machine from a file.
  3711. LIntExport void ReadSamplesClassSvm(const HTuple& SVMHandle, const HTuple& FileName);
  3712. // Write the training data of a support vector machine to a file.
  3713. LIntExport void WriteSamplesClassSvm(const HTuple& SVMHandle, const HTuple& FileName);
  3714. // Evaluate a feature vector by a support vector machine.
  3715. LIntExport void EvaluateClassSvm(const HTuple& SVMHandle, const HTuple& Features, HTuple* Result);
  3716. // Classify a feature vector by a support vector machine.
  3717. LIntExport void ClassifyClassSvm(const HTuple& SVMHandle, const HTuple& Features, const HTuple& Num, HTuple* Class);
  3718. // Approximate a trained support vector machine by a reduced support vector machine for faster classification.
  3719. LIntExport void ReduceClassSvm(const HTuple& SVMHandle, const HTuple& Method, const HTuple& MinRemainingSV, const HTuple& MaxError, HTuple* SVMHandleReduced);
  3720. // Train a support vector machine.
  3721. LIntExport void TrainClassSvm(const HTuple& SVMHandle, const HTuple& Epsilon, const HTuple& TrainMode);
  3722. // Compute the information content of the preprocessed feature vectors of a support vector machine
  3723. LIntExport void GetPrepInfoClassSvm(const HTuple& SVMHandle, const HTuple& Preprocessing, HTuple* InformationCont, HTuple* CumInformationCont);
  3724. // Return the number of support vectors of a support vector machine.
  3725. LIntExport void GetSupportVectorNumClassSvm(const HTuple& SVMHandle, HTuple* NumSupportVectors, HTuple* NumSVPerSVM);
  3726. // Return the index of a support vector from a trained support vector machine.
  3727. LIntExport void GetSupportVectorClassSvm(const HTuple& SVMHandle, const HTuple& IndexSupportVector, HTuple* Index);
  3728. // Return the number of training samples stored in the training data of a support vector machine.
  3729. LIntExport void GetSampleNumClassSvm(const HTuple& SVMHandle, HTuple* NumSamples);
  3730. // Return a training sample from the training data of a support vector machine.
  3731. LIntExport void GetSampleClassSvm(const HTuple& SVMHandle, const HTuple& IndexSample, HTuple* Features, HTuple* Target);
  3732. // Add a training sample to the training data of a support vector machine.
  3733. LIntExport void AddSampleClassSvm(const HTuple& SVMHandle, const HTuple& Features, const HTuple& Class);
  3734. // Return the parameters of a support vector machine.
  3735. LIntExport void GetParamsClassSvm(const HTuple& SVMHandle, HTuple* NumFeatures, HTuple* KernelType, HTuple* KernelParam, HTuple* Nu, HTuple* NumClasses, HTuple* Mode, HTuple* Preprocessing, HTuple* NumComponents);
  3736. // Create a support vector machine for pattern classification.
  3737. LIntExport void CreateClassSvm(const HTuple& NumFeatures, const HTuple& KernelType, const HTuple& KernelParam, const HTuple& Nu, const HTuple& NumClasses, const HTuple& Mode, const HTuple& Preprocessing, const HTuple& NumComponents, HTuple* SVMHandle);
  3738. // This operator is inoperable. It had the following function: Clear all multilayer perceptrons.
  3739. LIntExport void ClearAllClassMlp();
  3740. // Clear a multilayer perceptron.
  3741. LIntExport void ClearClassMlp(const HTuple& MLPHandle);
  3742. // Clear the training data of a multilayer perceptron.
  3743. LIntExport void ClearSamplesClassMlp(const HTuple& MLPHandle);
  3744. // Deserialize a serialized multilayer perceptron.
  3745. LIntExport void DeserializeClassMlp(const HTuple& SerializedItemHandle, HTuple* MLPHandle);
  3746. // Serialize a multilayer perceptron (MLP).
  3747. LIntExport void SerializeClassMlp(const HTuple& MLPHandle, HTuple* SerializedItemHandle);
  3748. // Read a multilayer perceptron from a file.
  3749. LIntExport void ReadClassMlp(const HTuple& FileName, HTuple* MLPHandle);
  3750. // Write a multilayer perceptron to a file.
  3751. LIntExport void WriteClassMlp(const HTuple& MLPHandle, const HTuple& FileName);
  3752. // Read the training data of a multilayer perceptron from a file.
  3753. LIntExport void ReadSamplesClassMlp(const HTuple& MLPHandle, const HTuple& FileName);
  3754. // Write the training data of a multilayer perceptron to a file.
  3755. LIntExport void WriteSamplesClassMlp(const HTuple& MLPHandle, const HTuple& FileName);
  3756. // Calculate the class of a feature vector by a multilayer perceptron.
  3757. LIntExport void ClassifyClassMlp(const HTuple& MLPHandle, const HTuple& Features, const HTuple& Num, HTuple* Class, HTuple* Confidence);
  3758. // Calculate the evaluation of a feature vector by a multilayer perceptron.
  3759. LIntExport void EvaluateClassMlp(const HTuple& MLPHandle, const HTuple& Features, HTuple* Result);
  3760. // Train a multilayer perceptron.
  3761. LIntExport void TrainClassMlp(const HTuple& MLPHandle, const HTuple& MaxIterations, const HTuple& WeightTolerance, const HTuple& ErrorTolerance, HTuple* Error, HTuple* ErrorLog);
  3762. // Compute the information content of the preprocessed feature vectors of a multilayer perceptron.
  3763. LIntExport void GetPrepInfoClassMlp(const HTuple& MLPHandle, const HTuple& Preprocessing, HTuple* InformationCont, HTuple* CumInformationCont);
  3764. // Return the number of training samples stored in the training data of a multilayer perceptron.
  3765. LIntExport void GetSampleNumClassMlp(const HTuple& MLPHandle, HTuple* NumSamples);
  3766. // Return a training sample from the training data of a multilayer perceptron.
  3767. LIntExport void GetSampleClassMlp(const HTuple& MLPHandle, const HTuple& IndexSample, HTuple* Features, HTuple* Target);
  3768. // Get the parameters of a rejection class.
  3769. LIntExport void GetRejectionParamsClassMlp(const HTuple& MLPHandle, const HTuple& GenParamName, HTuple* GenParamValue);
  3770. // Set the parameters of a rejection class.
  3771. LIntExport void SetRejectionParamsClassMlp(const HTuple& MLPHandle, const HTuple& GenParamName, const HTuple& GenParamValue);
  3772. // Add a training sample to the training data of a multilayer perceptron.
  3773. LIntExport void AddSampleClassMlp(const HTuple& MLPHandle, const HTuple& Features, const HTuple& Target);
  3774. // Return the regularization parameters of a multilayer perceptron.
  3775. LIntExport void GetRegularizationParamsClassMlp(const HTuple& MLPHandle, const HTuple& GenParamName, HTuple* GenParamValue);
  3776. // Set the regularization parameters of a multilayer perceptron.
  3777. LIntExport void SetRegularizationParamsClassMlp(const HTuple& MLPHandle, const HTuple& GenParamName, const HTuple& GenParamValue);
  3778. // Return the parameters of a multilayer perceptron.
  3779. LIntExport void GetParamsClassMlp(const HTuple& MLPHandle, HTuple* NumInput, HTuple* NumHidden, HTuple* NumOutput, HTuple* OutputFunction, HTuple* Preprocessing, HTuple* NumComponents);
  3780. // Create a multilayer perceptron for classification or regression.
  3781. LIntExport void CreateClassMlp(const HTuple& NumInput, const HTuple& NumHidden, const HTuple& NumOutput, const HTuple& OutputFunction, const HTuple& Preprocessing, const HTuple& NumComponents, const HTuple& RandSeed, HTuple* MLPHandle);
  3782. // Deserialize a serialized classifier.
  3783. LIntExport void DeserializeClassBox(const HTuple& ClassifHandle, const HTuple& SerializedItemHandle);
  3784. // Serialize a classifier.
  3785. LIntExport void SerializeClassBox(const HTuple& ClassifHandle, HTuple* SerializedItemHandle);
  3786. // Save a classifier in a file.
  3787. LIntExport void WriteClassBox(const HTuple& ClassifHandle, const HTuple& FileName);
  3788. // Set system parameters for classification.
  3789. LIntExport void SetClassBoxParam(const HTuple& ClassifHandle, const HTuple& Flag, const HTuple& Value);
  3790. // Read a training data set from a file.
  3791. LIntExport void ReadSampset(const HTuple& FileName, HTuple* SampKey);
  3792. // Read a classifier from a file.
  3793. LIntExport void ReadClassBox(const HTuple& ClassifHandle, const HTuple& FileName);
  3794. // Train the classifier with one data set.
  3795. LIntExport void LearnSampsetBox(const HTuple& ClassifHandle, const HTuple& SampKey, const HTuple& Outfile, const HTuple& NSamples, const HTuple& StopError, const HTuple& ErrorN);
  3796. // Train the classifier.
  3797. LIntExport void LearnClassBox(const HTuple& ClassifHandle, const HTuple& Features, const HTuple& Class);
  3798. // Get information about the current parameter.
  3799. LIntExport void GetClassBoxParam(const HTuple& ClassifHandle, const HTuple& Flag, HTuple* Value);
  3800. // Free memory of a data set.
  3801. LIntExport void ClearSampset(const HTuple& SampKey);
  3802. // Destroy the classifier.
  3803. LIntExport void CloseClassBox(const HTuple& ClassifHandle);
  3804. // Create a new classifier.
  3805. LIntExport void CreateClassBox(HTuple* ClassifHandle);
  3806. // Describe the classes of a box classifier.
  3807. LIntExport void DescriptClassBox(const HTuple& ClassifHandle, const HTuple& Dimensions, HTuple* ClassIdx, HTuple* BoxIdx, HTuple* BoxLowerBound, HTuple* BoxHigherBound, HTuple* BoxNumSamplesTrain, HTuple* BoxNumSamplesWrong);
  3808. // Classify a set of arrays.
  3809. LIntExport void TestSampsetBox(const HTuple& ClassifHandle, const HTuple& SampKey, HTuple* Error);
  3810. // Classify a tuple of attributes with rejection class.
  3811. LIntExport void EnquireRejectClassBox(const HTuple& ClassifHandle, const HTuple& FeatureList, HTuple* Class);
  3812. // Classify a tuple of attributes.
  3813. LIntExport void EnquireClassBox(const HTuple& ClassifHandle, const HTuple& FeatureList, HTuple* Class);
  3814. // This operator is inoperable. It had the following function: Destroy all classifiers.
  3815. LIntExport void CloseAllClassBox();
  3816. // Convert image maps into other map types.
  3817. LIntExport void ConvertMapType(const HObject& Map, HObject* MapConverted, const HTuple& NewType, const HTuple& ImageWidth);
  3818. // Compute an absolute pose out of point correspondences between world and image coordinates.
  3819. LIntExport void VectorToPose(const HTuple& WorldX, const HTuple& WorldY, const HTuple& WorldZ, const HTuple& ImageRow, const HTuple& ImageColumn, const HTuple& CameraParam, const HTuple& Method, const HTuple& QualityType, HTuple* Pose, HTuple* Quality);
  3820. // Compute a pose out of a homography describing the relation between world and image coordinates.
  3821. LIntExport void ProjHomMat2dToPose(const HTuple& Homography, const HTuple& CameraMatrix, const HTuple& Method, HTuple* Pose);
  3822. // Calibrate the radial distortion.
  3823. LIntExport void RadialDistortionSelfCalibration(const HObject& Contours, HObject* SelectedContours, const HTuple& Width, const HTuple& Height, const HTuple& InlierThreshold, const HTuple& RandSeed, const HTuple& DistortionModel, const HTuple& DistortionCenter, const HTuple& PrincipalPointVar, HTuple* CameraParam);
  3824. // Compute a camera matrix from internal camera parameters.
  3825. LIntExport void CamParToCamMat(const HTuple& CameraParam, HTuple* CameraMatrix, HTuple* ImageWidth, HTuple* ImageHeight);
  3826. // Compute the internal camera parameters from a camera matrix.
  3827. LIntExport void CamMatToCamPar(const HTuple& CameraMatrix, const HTuple& Kappa, const HTuple& ImageWidth, const HTuple& ImageHeight, HTuple* CameraParam);
  3828. // Perform a self-calibration of a stationary projective camera.
  3829. LIntExport void StationaryCameraSelfCalibration(const HTuple& NumImages, const HTuple& ImageWidth, const HTuple& ImageHeight, const HTuple& ReferenceImage, const HTuple& MappingSource, const HTuple& MappingDest, const HTuple& HomMatrices2D, const HTuple& Rows1, const HTuple& Cols1, const HTuple& Rows2, const HTuple& Cols2, const HTuple& NumCorrespondences, const HTuple& EstimationMethod, const HTuple& CameraModel, const HTuple& FixedCameraParams, HTuple* CameraMatrices, HTuple* Kappa, HTuple* RotationMatrices, HTuple* X, HTuple* Y, HTuple* Z, HTuple* Error);
  3830. // Determine the 3D pose of a rectangle from its perspective 2D projection
  3831. LIntExport void GetRectanglePose(const HObject& Contour, const HTuple& CameraParam, const HTuple& Width, const HTuple& Height, const HTuple& WeightingMode, const HTuple& ClippingFactor, HTuple* Pose, HTuple* CovPose, HTuple* Error);
  3832. // Determine the 3D pose of a circle from its perspective 2D projection.
  3833. LIntExport void GetCirclePose(const HObject& Contour, const HTuple& CameraParam, const HTuple& Radius, const HTuple& OutputType, HTuple* Pose1, HTuple* Pose2);
  3834. // Perform a radiometric self-calibration of a camera.
  3835. LIntExport void RadiometricSelfCalibration(const HObject& Images, const HTuple& ExposureRatios, const HTuple& Features, const HTuple& FunctionType, const HTuple& Smoothness, const HTuple& PolynomialDegree, HTuple* InverseResponse);
  3836. // Apply a general transformation to an image.
  3837. LIntExport void MapImage(const HObject& Image, const HObject& Map, HObject* ImageMapped);
  3838. // Generate a projection map that describes the mapping of images corresponding to a changing radial distortion.
  3839. LIntExport void GenRadialDistortionMap(HObject* Map, const HTuple& CamParamIn, const HTuple& CamParamOut, const HTuple& MapType);
  3840. // Generate a projection map that describes the mapping between the image plane and the plane z=0 of a world coordinate system.
  3841. LIntExport void GenImageToWorldPlaneMap(HObject* Map, const HTuple& CameraParam, const HTuple& WorldPose, const HTuple& WidthIn, const HTuple& HeightIn, const HTuple& WidthMapped, const HTuple& HeightMapped, const HTuple& Scale, const HTuple& MapType);
  3842. // Rectify an image by transforming it into the plane z=0 of a world coordinate system.
  3843. LIntExport void ImageToWorldPlane(const HObject& Image, HObject* ImageWorld, const HTuple& CameraParam, const HTuple& WorldPose, const HTuple& Width, const HTuple& Height, const HTuple& Scale, const HTuple& Interpolation);
  3844. // Transform an XLD contour into the plane z=0 of a world coordinate system.
  3845. LIntExport void ContourToWorldPlaneXld(const HObject& Contours, HObject* ContoursTrans, const HTuple& CameraParam, const HTuple& WorldPose, const HTuple& Scale);
  3846. // Transform image points into the plane z=0 of a world coordinate system.
  3847. LIntExport void ImagePointsToWorldPlane(const HTuple& CameraParam, const HTuple& WorldPose, const HTuple& Rows, const HTuple& Cols, const HTuple& Scale, HTuple* X, HTuple* Y);
  3848. // Translate the origin of a 3D pose.
  3849. LIntExport void SetOriginPose(const HTuple& PoseIn, const HTuple& DX, const HTuple& DY, const HTuple& DZ, HTuple* PoseNewOrigin);
  3850. // Perform a hand-eye calibration.
  3851. LIntExport void HandEyeCalibration(const HTuple& X, const HTuple& Y, const HTuple& Z, const HTuple& Row, const HTuple& Col, const HTuple& NumPoints, const HTuple& RobotPoses, const HTuple& CameraParam, const HTuple& Method, const HTuple& QualityType, HTuple* CameraPose, HTuple* CalibrationPose, HTuple* Quality);
  3852. // Get the representation type of a 3D pose.
  3853. LIntExport void GetPoseType(const HTuple& Pose, HTuple* OrderOfTransform, HTuple* OrderOfRotation, HTuple* ViewOfTransform);
  3854. // Change the representation type of a 3D pose.
  3855. LIntExport void ConvertPoseType(const HTuple& PoseIn, const HTuple& OrderOfTransform, const HTuple& OrderOfRotation, const HTuple& ViewOfTransform, HTuple* PoseOut);
  3856. // Create a 3D pose.
  3857. LIntExport void CreatePose(const HTuple& TransX, const HTuple& TransY, const HTuple& TransZ, const HTuple& RotX, const HTuple& RotY, const HTuple& RotZ, const HTuple& OrderOfTransform, const HTuple& OrderOfRotation, const HTuple& ViewOfTransform, HTuple* Pose);
  3858. // Change the radial distortion of contours.
  3859. LIntExport void ChangeRadialDistortionContoursXld(const HObject& Contours, HObject* ContoursRectified, const HTuple& CamParamIn, const HTuple& CamParamOut);
  3860. // Change the radial distortion of pixel coordinates.
  3861. LIntExport void ChangeRadialDistortionPoints(const HTuple& Row, const HTuple& Col, const HTuple& CamParamIn, const HTuple& CamParamOut, HTuple* RowChanged, HTuple* ColChanged);
  3862. // Change the radial distortion of an image.
  3863. LIntExport void ChangeRadialDistortionImage(const HObject& Image, const HObject& Region, HObject* ImageRectified, const HTuple& CamParamIn, const HTuple& CamParamOut);
  3864. // Determine new camera parameters in accordance to the specified radial distortion.
  3865. LIntExport void ChangeRadialDistortionCamPar(const HTuple& Mode, const HTuple& CamParamIn, const HTuple& DistortionCoeffs, HTuple* CamParamOut);
  3866. // Generate a calibration plate description file and a corresponding PostScript file for a calibration plate with rectangularly arranged marks.
  3867. LIntExport void GenCaltab(const HTuple& XNum, const HTuple& YNum, const HTuple& MarkDist, const HTuple& DiameterRatio, const HTuple& CalPlateDescr, const HTuple& CalPlatePSFile);
  3868. // Generate a calibration plate description file and a corresponding PostScript file for a calibration plate with hexagonally arranged marks.
  3869. LIntExport void CreateCaltab(const HTuple& NumRows, const HTuple& MarksPerRow, const HTuple& Diameter, const HTuple& FinderRow, const HTuple& FinderColumn, const HTuple& Polarity, const HTuple& CalPlateDescr, const HTuple& CalPlatePSFile);
  3870. // Read the mark center points from the calibration plate description file.
  3871. LIntExport void CaltabPoints(const HTuple& CalPlateDescr, HTuple* X, HTuple* Y, HTuple* Z);
  3872. // Compute the line of sight corresponding to a point in the image.
  3873. LIntExport void GetLineOfSight(const HTuple& Row, const HTuple& Column, const HTuple& CameraParam, HTuple* PX, HTuple* PY, HTuple* PZ, HTuple* QX, HTuple* QY, HTuple* QZ);
  3874. // Project a homogeneous 3D point using a 3x4 projection matrix.
  3875. LIntExport void ProjectHomPointHomMat3d(const HTuple& HomMat3D, const HTuple& Px, const HTuple& Py, const HTuple& Pz, const HTuple& Pw, HTuple* Qx, HTuple* Qy, HTuple* Qw);
  3876. // Project a 3D point using a 3x4 projection matrix.
  3877. LIntExport void ProjectPointHomMat3d(const HTuple& HomMat3D, const HTuple& Px, const HTuple& Py, const HTuple& Pz, HTuple* Qx, HTuple* Qy);
  3878. // Project 3D points into (sub-)pixel image coordinates.
  3879. LIntExport void Project3dPoint(const HTuple& X, const HTuple& Y, const HTuple& Z, const HTuple& CameraParam, HTuple* Row, HTuple* Column);
  3880. // Convert internal camera parameters and a 3D pose into a 3x4 projection matrix.
  3881. LIntExport void CamParPoseToHomMat3d(const HTuple& CameraParam, const HTuple& Pose, HTuple* HomMat3D);
  3882. // Convert a homogeneous transformation matrix into a 3D pose.
  3883. LIntExport void HomMat3dToPose(const HTuple& HomMat3D, HTuple* Pose);
  3884. // Convert a 3D pose into a homogeneous transformation matrix.
  3885. LIntExport void PoseToHomMat3d(const HTuple& Pose, HTuple* HomMat3D);
  3886. // Deserialize the serialized internal camera parameters.
  3887. LIntExport void DeserializeCamPar(const HTuple& SerializedItemHandle, HTuple* CameraParam);
  3888. // Serialize the internal camera parameters.
  3889. LIntExport void SerializeCamPar(const HTuple& CameraParam, HTuple* SerializedItemHandle);
  3890. // Deserialize a serialized pose.
  3891. LIntExport void DeserializePose(const HTuple& SerializedItemHandle, HTuple* Pose);
  3892. // Serialize a pose.
  3893. LIntExport void SerializePose(const HTuple& Pose, HTuple* SerializedItemHandle);
  3894. // Read a 3D pose from a text file.
  3895. LIntExport void ReadPose(const HTuple& PoseFile, HTuple* Pose);
  3896. // Write a 3D pose to a text file.
  3897. LIntExport void WritePose(const HTuple& Pose, const HTuple& PoseFile);
  3898. // Read internal camera parameters from a file.
  3899. LIntExport void ReadCamPar(const HTuple& CamParFile, HTuple* CameraParam);
  3900. // Write internal camera parameters into a file.
  3901. LIntExport void WriteCamPar(const HTuple& CameraParam, const HTuple& CamParFile);
  3902. // Simulate an image with calibration plate.
  3903. LIntExport void SimCaltab(HObject* SimImage, const HTuple& CalPlateDescr, const HTuple& CameraParam, const HTuple& CalPlatePose, const HTuple& GrayBackground, const HTuple& GrayPlate, const HTuple& GrayMarks, const HTuple& ScaleFac);
  3904. // Project and visualize the 3D model of the calibration plate in the image.
  3905. LIntExport void DispCaltab(const HTuple& WindowHandle, const HTuple& CalPlateDescr, const HTuple& CameraParam, const HTuple& CalPlatePose, const HTuple& ScaleFac);
  3906. // Determine all camera parameters by a simultaneous minimization process.
  3907. LIntExport void CameraCalibration(const HTuple& NX, const HTuple& NY, const HTuple& NZ, const HTuple& NRow, const HTuple& NCol, const HTuple& StartCamParam, const HTuple& NStartPose, const HTuple& EstimateParams, HTuple* CameraParam, HTuple* NFinalPose, HTuple* Errors);
  3908. // Extract rectangularly arranged 2D calibration marks from the image and calculate initial values for the external camera parameters.
  3909. LIntExport void FindMarksAndPose(const HObject& Image, const HObject& CalPlateRegion, const HTuple& CalPlateDescr, const HTuple& StartCamParam, const HTuple& StartThresh, const HTuple& DeltaThresh, const HTuple& MinThresh, const HTuple& Alpha, const HTuple& MinContLength, const HTuple& MaxDiamMarks, HTuple* RCoord, HTuple* CCoord, HTuple* StartPose);
  3910. // Segment the region of a standard calibration plate with rectangularly arranged marks in the image.
  3911. LIntExport void FindCaltab(const HObject& Image, HObject* CalPlate, const HTuple& CalPlateDescr, const HTuple& SizeGauss, const HTuple& MarkThresh, const HTuple& MinDiamMarks);
  3912. // Free the memory of all camera setup models.
  3913. LIntExport void ClearAllCameraSetupModels();
  3914. // Free the memory of a calibration setup model.
  3915. LIntExport void ClearCameraSetupModel(const HTuple& CameraSetupModelID);
  3916. // Serialize a camera setup model.
  3917. LIntExport void SerializeCameraSetupModel(const HTuple& CameraSetupModelID, HTuple* SerializedItemHandle);
  3918. // Deserialize a serialized camera setup model.
  3919. LIntExport void DeserializeCameraSetupModel(const HTuple& SerializedItemHandle, HTuple* CameraSetupModelID);
  3920. // Store a camera setup model into a file.
  3921. LIntExport void WriteCameraSetupModel(const HTuple& CameraSetupModelID, const HTuple& FileName);
  3922. // Restore a camera setup model from a file.
  3923. LIntExport void ReadCameraSetupModel(const HTuple& FileName, HTuple* CameraSetupModelID);
  3924. // Get generic camera setup model parameters.
  3925. LIntExport void GetCameraSetupParam(const HTuple& CameraSetupModelID, const HTuple& CameraIdx, const HTuple& GenParamName, HTuple* GenParamValue);
  3926. // Set generic camera setup model parameters.
  3927. LIntExport void SetCameraSetupParam(const HTuple& CameraSetupModelID, const HTuple& CameraIdx, const HTuple& GenParamName, const HTuple& GenParamValue);
  3928. // Define type, parameters, and relative pose of a camera in a camera setup model.
  3929. LIntExport void SetCameraSetupCamParam(const HTuple& CameraSetupModelID, const HTuple& CameraIdx, const HTuple& CameraType, const HTuple& CameraParam, const HTuple& CameraPose);
  3930. // Create a model for a setup of calibrated cameras.
  3931. LIntExport void CreateCameraSetupModel(const HTuple& NumCameras, HTuple* CameraSetupModelID);
  3932. // Free the memory of all calibration data models.
  3933. LIntExport void ClearAllCalibData();
  3934. // Free the memory of a calibration data model.
  3935. LIntExport void ClearCalibData(const HTuple& CalibDataID);
  3936. // Deserialize a serialized calibration data model.
  3937. LIntExport void DeserializeCalibData(const HTuple& SerializedItemHandle, HTuple* CalibDataID);
  3938. // Serialize a calibration data model.
  3939. LIntExport void SerializeCalibData(const HTuple& CalibDataID, HTuple* SerializedItemHandle);
  3940. // Restore a calibration data model from a file.
  3941. LIntExport void ReadCalibData(const HTuple& FileName, HTuple* CalibDataID);
  3942. // Store a calibration data model into a file.
  3943. LIntExport void WriteCalibData(const HTuple& CalibDataID, const HTuple& FileName);
  3944. // Perform a hand-eye calibration.
  3945. LIntExport void CalibrateHandEye(const HTuple& CalibDataID, HTuple* Errors);
  3946. // Determine all camera parameters by a simultaneous minimization process.
  3947. LIntExport void CalibrateCameras(const HTuple& CalibDataID, HTuple* Error);
  3948. // Remove a data set from a calibration data model.
  3949. LIntExport void RemoveCalibData(const HTuple& CalibDataID, const HTuple& ItemType, const HTuple& ItemIdx);
  3950. // Set data in a calibration data model.
  3951. LIntExport void SetCalibData(const HTuple& CalibDataID, const HTuple& ItemType, const HTuple& ItemIdx, const HTuple& DataName, const HTuple& DataValue);
  3952. // Find the HALCON calibration plate and set the extracted points and contours in a calibration data model.
  3953. LIntExport void FindCalibObject(const HObject& Image, const HTuple& CalibDataID, const HTuple& CameraIdx, const HTuple& CalibObjIdx, const HTuple& CalibObjPoseIdx, const HTuple& GenParamName, const HTuple& GenParamValue);
  3954. // Remove observation data from a calibration data model.
  3955. LIntExport void RemoveCalibDataObserv(const HTuple& CalibDataID, const HTuple& CameraIdx, const HTuple& CalibObjIdx, const HTuple& CalibObjPoseIdx);
  3956. // Get contour-based observation data from a calibration data model.
  3957. LIntExport void GetCalibDataObservContours(HObject* Contours, const HTuple& CalibDataID, const HTuple& ContourName, const HTuple& CameraIdx, const HTuple& CalibObjIdx, const HTuple& CalibObjPoseIdx);
  3958. // Get observed calibration object poses from a calibration data model.
  3959. LIntExport void GetCalibDataObservPose(const HTuple& CalibDataID, const HTuple& CameraIdx, const HTuple& CalibObjIdx, const HTuple& CalibObjPoseIdx, HTuple* ObjInCameraPose);
  3960. // Set observed calibration object poses in a calibration data model.
  3961. LIntExport void SetCalibDataObservPose(const HTuple& CalibDataID, const HTuple& CameraIdx, const HTuple& CalibObjIdx, const HTuple& CalibObjPoseIdx, const HTuple& ObjInCameraPose);
  3962. // Get point-based observation data from a calibration data model.
  3963. LIntExport void GetCalibDataObservPoints(const HTuple& CalibDataID, const HTuple& CameraIdx, const HTuple& CalibObjIdx, const HTuple& CalibObjPoseIdx, HTuple* Row, HTuple* Column, HTuple* Index, HTuple* Pose);
  3964. // Set point-based observation data in a calibration data model.
  3965. LIntExport void SetCalibDataObservPoints(const HTuple& CalibDataID, const HTuple& CameraIdx, const HTuple& CalibObjIdx, const HTuple& CalibObjPoseIdx, const HTuple& Row, const HTuple& Column, const HTuple& Index, const HTuple& Pose);
  3966. // Query information about the relations between cameras, calibration objects, and calibration object poses.
  3967. LIntExport void QueryCalibDataObservIndices(const HTuple& CalibDataID, const HTuple& ItemType, const HTuple& ItemIdx, HTuple* Index1, HTuple* Index2);
  3968. // Query data stored or computed in a calibration data model.
  3969. LIntExport void GetCalibData(const HTuple& CalibDataID, const HTuple& ItemType, const HTuple& ItemIdx, const HTuple& DataName, HTuple* DataValue);
  3970. // Define a calibration object in a calibration model.
  3971. LIntExport void SetCalibDataCalibObject(const HTuple& CalibDataID, const HTuple& CalibObjIdx, const HTuple& CalibObjDescr);
  3972. // Set type and initial parameters of a camera in a calibration data model.
  3973. LIntExport void SetCalibDataCamParam(const HTuple& CalibDataID, const HTuple& CameraIdx, const HTuple& CameraType, const HTuple& CameraParam);
  3974. // Create a HALCON calibration data model.
  3975. LIntExport void CreateCalibData(const HTuple& CalibSetup, const HTuple& NumCameras, const HTuple& NumCalibObjects, HTuple* CalibDataID);
  3976. // Get the value of a parameter in a specific bead inspection model.
  3977. LIntExport void GetBeadInspectionParam(const HTuple& BeadInspectionModel, const HTuple& GenParamName, HTuple* GenParamValue);
  3978. // Set parameters of the bead inspection model.
  3979. LIntExport void SetBeadInspectionParam(const HTuple& BeadInspectionModel, const HTuple& GenParamName, const HTuple& GenParamValue);
  3980. // Inspect beads in an image, as defined by the bead inspection model.
  3981. LIntExport void ApplyBeadInspectionModel(const HObject& Image, HObject* LeftContour, HObject* RightContour, HObject* ErrorSegment, const HTuple& BeadInspectionModel, HTuple* ErrorType);
  3982. // Delete the bead inspection model and free the allocated memory.
  3983. LIntExport void ClearBeadInspectionModel(const HTuple& BeadInspectionModel);
  3984. // Create a model to inspect beads or adhesive in images.
  3985. LIntExport void CreateBeadInspectionModel(const HObject& BeadContour, const HTuple& TargetThickness, const HTuple& ThicknessTolerance, const HTuple& PositionTolerance, const HTuple& Polarity, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* BeadInspectionModel);
  3986. // Deserialize a bar code model.
  3987. LIntExport void DeserializeBarCodeModel(const HTuple& SerializedItemHandle, HTuple* BarCodeHandle);
  3988. // Serialize a bar code model.
  3989. LIntExport void SerializeBarCodeModel(const HTuple& BarCodeHandle, HTuple* SerializedItemHandle);
  3990. // Read a bar code model from a file and create a new model.
  3991. LIntExport void ReadBarCodeModel(const HTuple& FileName, HTuple* BarCodeHandle);
  3992. // Write a bar code model to a file.
  3993. LIntExport void WriteBarCodeModel(const HTuple& BarCodeHandle, const HTuple& FileName);
  3994. // Access iconic objects that were created during the search or decoding of bar code symbols.
  3995. LIntExport void GetBarCodeObject(HObject* BarCodeObjects, const HTuple& BarCodeHandle, const HTuple& CandidateHandle, const HTuple& ObjectName);
  3996. // Get the alphanumerical results that were accumulated during the decoding of bar code symbols.
  3997. LIntExport void GetBarCodeResult(const HTuple& BarCodeHandle, const HTuple& CandidateHandle, const HTuple& ResultName, HTuple* BarCodeResults);
  3998. // Decode bar code symbols within a rectangle.
  3999. LIntExport void DecodeBarCodeRectangle2(const HObject& Image, const HTuple& BarCodeHandle, const HTuple& CodeType, const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Length1, const HTuple& Length2, HTuple* DecodedDataStrings);
  4000. // Detect and read bar code symbols in an image.
  4001. LIntExport void FindBarCode(const HObject& Image, HObject* SymbolRegions, const HTuple& BarCodeHandle, const HTuple& CodeType, HTuple* DecodedDataStrings);
  4002. // Get the names of the parameters that can be used in set_bar_code* and get_bar_code* operators for a given bar code model
  4003. LIntExport void QueryBarCodeParams(const HTuple& BarCodeHandle, const HTuple& Properties, HTuple* GenParamName);
  4004. // Get parameters that are used by the bar code reader when processing a specific bar code type.
  4005. LIntExport void GetBarCodeParamSpecific(const HTuple& BarCodeHandle, const HTuple& CodeTypes, const HTuple& GenParamName, HTuple* GenParamValue);
  4006. // Get one or several parameters that describe the bar code model.
  4007. LIntExport void GetBarCodeParam(const HTuple& BarCodeHandle, const HTuple& GenParamName, HTuple* GenParamValue);
  4008. // Set selected parameters of the bar code model for selected bar code types
  4009. LIntExport void SetBarCodeParamSpecific(const HTuple& BarCodeHandle, const HTuple& CodeTypes, const HTuple& GenParamName, const HTuple& GenParamValue);
  4010. // Set selected parameters of the bar code model.
  4011. LIntExport void SetBarCodeParam(const HTuple& BarCodeHandle, const HTuple& GenParamName, const HTuple& GenParamValue);
  4012. // This operator is inoperable. It had the following function: Delete all bar code models and free the allocated memory
  4013. LIntExport void ClearAllBarCodeModels();
  4014. // Delete a bar code model and free the allocated memory
  4015. LIntExport void ClearBarCodeModel(const HTuple& BarCodeHandle);
  4016. // Create a model of a bar code reader.
  4017. LIntExport void CreateBarCodeModel(const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* BarCodeHandle);
  4018. // Delete the background estimation data set.
  4019. LIntExport void CloseBgEsti(const HTuple& BgEstiHandle);
  4020. // Return the estimated background image.
  4021. LIntExport void GiveBgEsti(HObject* BackgroundImage, const HTuple& BgEstiHandle);
  4022. // Change the estimated background image.
  4023. LIntExport void UpdateBgEsti(const HObject& PresentImage, const HObject& UpDateRegion, const HTuple& BgEstiHandle);
  4024. // Estimate the background and return the foreground region.
  4025. LIntExport void RunBgEsti(const HObject& PresentImage, HObject* ForegroundRegion, const HTuple& BgEstiHandle);
  4026. // Return the parameters of the data set.
  4027. LIntExport void GetBgEstiParams(const HTuple& BgEstiHandle, HTuple* Syspar1, HTuple* Syspar2, HTuple* GainMode, HTuple* Gain1, HTuple* Gain2, HTuple* AdaptMode, HTuple* MinDiff, HTuple* StatNum, HTuple* ConfidenceC, HTuple* TimeC);
  4028. // Change the parameters of the data set.
  4029. LIntExport void SetBgEstiParams(const HTuple& BgEstiHandle, const HTuple& Syspar1, const HTuple& Syspar2, const HTuple& GainMode, const HTuple& Gain1, const HTuple& Gain2, const HTuple& AdaptMode, const HTuple& MinDiff, const HTuple& StatNum, const HTuple& ConfidenceC, const HTuple& TimeC);
  4030. // Generate and initialize a data set for the background estimation.
  4031. LIntExport void CreateBgEsti(const HObject& InitializeImage, const HTuple& Syspar1, const HTuple& Syspar2, const HTuple& GainMode, const HTuple& Gain1, const HTuple& Gain2, const HTuple& AdaptMode, const HTuple& MinDiff, const HTuple& StatNum, const HTuple& ConfidenceC, const HTuple& TimeC, HTuple* BgEstiHandle);
  4032. // This operator is inoperable. It had the following function: Delete all background estimation data sets.
  4033. LIntExport void CloseAllBgEsti();
  4034. // Perform an action on I/O channels.
  4035. LIntExport void ControlIoChannel(const HTuple& IOChannelHandle, const HTuple& ParamAction, const HTuple& ParamArgument, HTuple* GenParamValue);
  4036. // Write a value to the specified I/O channels.
  4037. LIntExport void WriteIoChannel(const HTuple& IOChannelHandle, const HTuple& Value, HTuple* Status);
  4038. // Read a value from the specified I/O channels.
  4039. LIntExport void ReadIoChannel(const HTuple& IOChannelHandle, HTuple* Value, HTuple* Status);
  4040. // Set specific parameters of I/O channels.
  4041. LIntExport void SetIoChannelParam(const HTuple& IOChannelHandle, const HTuple& GenParamName, const HTuple& GenParamValue);
  4042. // Query specific parameters of I/O channels.
  4043. LIntExport void GetIoChannelParam(const HTuple& IOChannelHandle, const HTuple& GenParamName, HTuple* GenParamValue);
  4044. // Close I/O channels.
  4045. LIntExport void CloseIoChannel(const HTuple& IOChannelHandle);
  4046. // Open and configure I/O channels.
  4047. LIntExport void OpenIoChannel(const HTuple& IODeviceHandle, const HTuple& IOChannelName, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* IOChannelHandle);
  4048. // Query information about channels of the specified I/O device.
  4049. LIntExport void QueryIoDevice(const HTuple& IODeviceHandle, const HTuple& IOChannelName, const HTuple& Query, HTuple* Result);
  4050. // Perform an action on the I/O device.
  4051. LIntExport void ControlIoDevice(const HTuple& IODeviceHandle, const HTuple& Action, const HTuple& Argument, HTuple* Result);
  4052. // Configure a specific I/O device instance.
  4053. LIntExport void SetIoDeviceParam(const HTuple& IODeviceHandle, const HTuple& GenParamName, const HTuple& GenParamValue);
  4054. // Query settings of an I/O device instance.
  4055. LIntExport void GetIoDeviceParam(const HTuple& IODeviceHandle, const HTuple& GenParamName, HTuple* GenParamValue);
  4056. // Close the specified I/O device.
  4057. LIntExport void CloseIoDevice(const HTuple& IODeviceHandle);
  4058. // Open and configure an I/O device.
  4059. LIntExport void OpenIoDevice(const HTuple& IOInterfaceName, const HTuple& IODeviceName, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* IODeviceHandle);
  4060. // Perform an action on the I/O interface.
  4061. LIntExport void ControlIoInterface(const HTuple& IOInterfaceName, const HTuple& Action, const HTuple& Argument, HTuple* Result);
  4062. // Query information about the specified I/O device interface.
  4063. LIntExport void QueryIoInterface(const HTuple& IOInterfaceName, const HTuple& Query, HTuple* Result);
  4064. // Query specific parameters of an image acquisition device.
  4065. LIntExport void GetFramegrabberParam(const HTuple& AcqHandle, const HTuple& Param, HTuple* Value);
  4066. // Set specific parameters of an image acquisition device.
  4067. LIntExport void SetFramegrabberParam(const HTuple& AcqHandle, const HTuple& Param, const HTuple& Value);
  4068. // Query callback function of an image acquisition device.
  4069. LIntExport void GetFramegrabberCallback(const HTuple& AcqHandle, const HTuple& CallbackType, HTuple* CallbackFunction, HTuple* UserContext);
  4070. // Register a callback function for an image acquisition device.
  4071. LIntExport void SetFramegrabberCallback(const HTuple& AcqHandle, const HTuple& CallbackType, const HTuple& CallbackFunction, const HTuple& UserContext);
  4072. // Asynchronous grab of images and preprocessed image data from the specified image acquisition device.
  4073. LIntExport void GrabDataAsync(HObject* Image, HObject* Region, HObject* Contours, const HTuple& AcqHandle, const HTuple& MaxDelay, HTuple* Data);
  4074. // Synchronous grab of images and preprocessed image data from the specified image acquisition device.
  4075. LIntExport void GrabData(HObject* Image, HObject* Region, HObject* Contours, const HTuple& AcqHandle, HTuple* Data);
  4076. // Asynchronous grab of an image from the specified image acquisition device.
  4077. LIntExport void GrabImageAsync(HObject* Image, const HTuple& AcqHandle, const HTuple& MaxDelay);
  4078. // Start an asynchronous grab from the specified image acquisition device.
  4079. LIntExport void GrabImageStart(const HTuple& AcqHandle, const HTuple& MaxDelay);
  4080. // Synchronous grab of an image from the specified image acquisition device.
  4081. LIntExport void GrabImage(HObject* Image, const HTuple& AcqHandle);
  4082. // Query information about the specified image acquisition interface.
  4083. LIntExport void InfoFramegrabber(const HTuple& Name, const HTuple& Query, HTuple* Information, HTuple* ValueList);
  4084. // This operator is inoperable. It had the following function: Close all image acquisition devices.
  4085. LIntExport void CloseAllFramegrabbers();
  4086. // Close specified image acquisition device.
  4087. LIntExport void CloseFramegrabber(const HTuple& AcqHandle);
  4088. // Open and configure an image acquisition device.
  4089. LIntExport void OpenFramegrabber(const HTuple& Name, const HTuple& HorizontalResolution, const HTuple& VerticalResolution, const HTuple& ImageWidth, const HTuple& ImageHeight, const HTuple& StartRow, const HTuple& StartColumn, const HTuple& Field, const HTuple& BitsPerChannel, const HTuple& ColorSpace, const HTuple& Generic, const HTuple& ExternalTrigger, const HTuple& CameraType, const HTuple& Device, const HTuple& Port, const HTuple& LineIn, HTuple* AcqHandle);
  4090. // Query look-up table of the image acquisition device.
  4091. LIntExport void GetFramegrabberLut(const HTuple& AcqHandle, HTuple* ImageRed, HTuple* ImageGreen, HTuple* ImageBlue);
  4092. // Set look-up table of the image acquisition device.
  4093. LIntExport void SetFramegrabberLut(const HTuple& AcqHandle, const HTuple& ImageRed, const HTuple& ImageGreen, const HTuple& ImageBlue);
  4094. // Add a text label to a 3D scene.
  4095. LIntExport void AddScene3dLabel(const HTuple& Scene3D, const HTuple& Text, const HTuple& ReferencePoint, const HTuple& Position, const HTuple& RelatesTo, HTuple* LabelIndex);
  4096. // Remove a text label from a 3D scene.
  4097. LIntExport void RemoveScene3dLabel(const HTuple& Scene3D, const HTuple& LabelIndex);
  4098. // Set parameters of a text label in a 3D scene.
  4099. LIntExport void SetScene3dLabelParam(const HTuple& Scene3D, const HTuple& LabelIndex, const HTuple& GenParamName, const HTuple& GenParamValue);
  4100. // Add training images to the texture inspection model.
  4101. LIntExport void AddTextureInspectionModelImage(const HObject& Image, const HTuple& TextureInspectionModel, HTuple* Indices);
  4102. // Inspection of the texture within an image.
  4103. LIntExport void ApplyTextureInspectionModel(const HObject& Image, HObject* NoveltyRegion, const HTuple& TextureInspectionModel, HTuple* TextureInspectionResultID);
  4104. // bilateral filtering of an image.
  4105. LIntExport void BilateralFilter(const HObject& Image, const HObject& ImageJoint, HObject* ImageBilateral, const HTuple& SigmaSpatial, const HTuple& SigmaRange, const HTuple& GenParamName, const HTuple& GenParamValue);
  4106. // Clear an CNN-based OCR classifier.
  4107. LIntExport void ClearOcrClassCnn(const HTuple& OCRHandle);
  4108. // Clear a texture inspection model and free the allocated memory.
  4109. LIntExport void ClearTextureInspectionModel(const HTuple& TextureInspectionModel);
  4110. // Clear a texture inspection result handle and free the allocated memory.
  4111. LIntExport void ClearTextureInspectionResult(const HTuple& TextureInspectionResultID);
  4112. // Convert image coordinates to window coordinates
  4113. LIntExport void ConvertCoordinatesImageToWindow(const HTuple& WindowHandle, const HTuple& RowImage, const HTuple& ColumnImage, HTuple* RowWindow, HTuple* ColumnWindow);
  4114. // Convert window coordinates to image coordinates
  4115. LIntExport void ConvertCoordinatesWindowToImage(const HTuple& WindowHandle, const HTuple& RowWindow, const HTuple& ColumnWindow, HTuple* RowImage, HTuple* ColumnImage);
  4116. // Create a texture inspection model.
  4117. LIntExport void CreateTextureInspectionModel(const HTuple& ModelType, HTuple* TextureInspectionModel);
  4118. // Deserialize a serialized dual quaternion.
  4119. LIntExport void DeserializeDualQuat(const HTuple& SerializedItemHandle, HTuple* DualQuaternion);
  4120. // Deserialize a serialized CNN-based OCR classifier.
  4121. LIntExport void DeserializeOcrClassCnn(const HTuple& SerializedItemHandle, HTuple* OCRHandle);
  4122. // Deserialize a serialized texture inspection model.
  4123. LIntExport void DeserializeTextureInspectionModel(const HTuple& SerializedItemHandle, HTuple* TextureInspectionModel);
  4124. // Display text in a window.
  4125. LIntExport void DispText(const HTuple& WindowHandle, const HTuple& String, const HTuple& CoordSystem, const HTuple& Row, const HTuple& Column, const HTuple& Color, const HTuple& GenParamName, const HTuple& GenParamValue);
  4126. // Classify multiple characters with an CNN-based OCR classifier.
  4127. LIntExport void DoOcrMultiClassCnn(const HObject& Character, const HObject& Image, const HTuple& OCRHandle, HTuple* Class, HTuple* Confidence);
  4128. // Classify a single character with an CNN-based OCR classifier.
  4129. LIntExport void DoOcrSingleClassCnn(const HObject& Character, const HObject& Image, const HTuple& OCRHandle, const HTuple& Num, HTuple* Class, HTuple* Confidence);
  4130. // Classify a related group of characters with an CNN-based OCR classifier.
  4131. LIntExport void DoOcrWordCnn(const HObject& Character, const HObject& Image, const HTuple& OCRHandle, const HTuple& Expression, const HTuple& NumAlternatives, const HTuple& NumCorrections, HTuple* Class, HTuple* Confidence, HTuple* Word, HTuple* Score);
  4132. // Multiply two dual quaternions.
  4133. LIntExport void DualQuatCompose(const HTuple& DualQuaternionLeft, const HTuple& DualQuaternionRight, HTuple* DualQuaternionComposed);
  4134. // Conjugate a dual quaternion.
  4135. LIntExport void DualQuatConjugate(const HTuple& DualQuaternion, HTuple* DualQuaternionConjugate);
  4136. // Interpolate two dual quaternions.
  4137. LIntExport void DualQuatInterpolate(const HTuple& DualQuaternionStart, const HTuple& DualQuaternionEnd, const HTuple& InterpPos, HTuple* DualQuaternionInterpolated);
  4138. // Normalize a dual quaternion.
  4139. LIntExport void DualQuatNormalize(const HTuple& DualQuaternion, HTuple* DualQuaternionNormalized);
  4140. // Convert a unit dual quaternion into a homogeneous transformation matrix.
  4141. LIntExport void DualQuatToHomMat3d(const HTuple& DualQuaternion, HTuple* HomMat3D);
  4142. // Convert a dual quaternion to a 3D pose.
  4143. LIntExport void DualQuatToPose(const HTuple& DualQuaternion, HTuple* Pose);
  4144. // Convert a unit dual quaternion into a screw.
  4145. LIntExport void DualQuatToScrew(const HTuple& DualQuaternion, const HTuple& ScrewFormat, HTuple* AxisDirectionX, HTuple* AxisDirectionY, HTuple* AxisDirectionZ, HTuple* AxisMomentOrPointX, HTuple* AxisMomentOrPointY, HTuple* AxisMomentOrPointZ, HTuple* Rotation, HTuple* Translation);
  4146. // Transform a 3D line with a unit dual quaternion.
  4147. LIntExport void DualQuatTransLine3d(const HTuple& DualQuaternion, const HTuple& LineFormat, const HTuple& LineDirectionX, const HTuple& LineDirectionY, const HTuple& LineDirectionZ, const HTuple& LineMomentOrPointX, const HTuple& LineMomentOrPointY, const HTuple& LineMomentOrPointZ, HTuple* TransLineDirectionX, HTuple* TransLineDirectionY, HTuple* TransLineDirectionZ, HTuple* TransLineMomentOrPointX, HTuple* TransLineMomentOrPointY, HTuple* TransLineMomentOrPointZ);
  4148. // Find edges in a 3D object model.
  4149. LIntExport void EdgesObjectModel3d(const HTuple& ObjectModel3D, const HTuple& MinAmplitude, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* ObjectModel3DEdges);
  4150. // Find the best matches of multiple NCC models.
  4151. LIntExport void FindNccModels(const HObject& Image, const HTuple& ModelIDs, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& MinScore, const HTuple& NumMatches, const HTuple& MaxOverlap, const HTuple& SubPixel, const HTuple& NumLevels, HTuple* Row, HTuple* Column, HTuple* Angle, HTuple* Score, HTuple* Model);
  4152. // Find the best matches of a surface model in a 3D scene and images.
  4153. LIntExport void FindSurfaceModelImage(const HObject& Image, const HTuple& SurfaceModelID, const HTuple& ObjectModel3D, const HTuple& RelSamplingDistance, const HTuple& KeyPointFraction, const HTuple& MinScore, const HTuple& ReturnResultHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Pose, HTuple* Score, HTuple* SurfaceMatchingResultID);
  4154. // Flush the contents of a window.
  4155. LIntExport void FlushBuffer(const HTuple& WindowHandle);
  4156. // Return the region used to create an NCC model.
  4157. LIntExport void GetNccModelRegion(HObject* ModelRegion, const HTuple& ModelID);
  4158. // Return the parameters of a CNN-based OCR classifier.
  4159. LIntExport void GetParamsOcrClassCnn(const HTuple& OCRHandle, const HTuple& GenParamName, HTuple* GenParamValue);
  4160. // Get the current color in RGBA-coding.
  4161. LIntExport void GetRgba(const HTuple& WindowHandle, HTuple* Red, HTuple* Green, HTuple* Blue, HTuple* Alpha);
  4162. // Get intermediate 3D object model of a stereo reconstruction
  4163. LIntExport void GetStereoModelObjectModel3d(const HTuple& StereoModelID, const HTuple& GenParamName, HTuple* ObjectModel3D);
  4164. // Get the training images contained in a texture inspection model.
  4165. LIntExport void GetTextureInspectionModelImage(HObject* ModelImages, const HTuple& TextureInspectionModel);
  4166. // Query parameters of a texture inspection model.
  4167. LIntExport void GetTextureInspectionModelParam(const HTuple& TextureInspectionModel, const HTuple& GenParamName, HTuple* GenParamValue);
  4168. // Query iconic results of a texture inspection.
  4169. LIntExport void GetTextureInspectionResultObject(HObject* Object, const HTuple& TextureInspectionResultID, const HTuple& ResultName);
  4170. // Guided filtering of an image.
  4171. LIntExport void GuidedFilter(const HObject& Image, const HObject& ImageGuide, HObject* ImageGuided, const HTuple& Radius, const HTuple& Amplitude);
  4172. // Create an interleaved image from a multichannel image.
  4173. LIntExport void InterleaveChannels(const HObject& MultichannelImage, HObject* InterleavedImage, const HTuple& PixelFormat, const HTuple& RowBytes, const HTuple& Alpha);
  4174. // Convert a 3D pose to a unit dual quaternion.
  4175. LIntExport void PoseToDualQuat(const HTuple& Pose, HTuple* DualQuaternion);
  4176. // Get the names of the parameters that can be used in get_params_ocr_class_cnn for a given CNN-based OCR classifier.
  4177. LIntExport void QueryParamsOcrClassCnn(const HTuple& OCRHandle, HTuple* GenParamName);
  4178. // Read an CNN-based OCR classifier from a file.
  4179. LIntExport void ReadOcrClassCnn(const HTuple& FileName, HTuple* OCRHandle);
  4180. // Read a texture inspection model from a file.
  4181. LIntExport void ReadTextureInspectionModel(const HTuple& FileName, HTuple* TextureInspectionModel);
  4182. // Refine the pose of a surface model in a 3D scene and in images.
  4183. LIntExport void RefineSurfaceModelPoseImage(const HObject& Image, const HTuple& SurfaceModelID, const HTuple& ObjectModel3D, const HTuple& InitialPose, const HTuple& MinScore, const HTuple& ReturnResultHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Pose, HTuple* Score, HTuple* SurfaceMatchingResultID);
  4184. // Clear all or a user-defined subset of the images of a texture inspection model.
  4185. LIntExport void RemoveTextureInspectionModelImage(const HTuple& TextureInspectionModel, const HTuple& Indices, HTuple* RemainingIndices);
  4186. // Convert a screw into a dual quaternion.
  4187. LIntExport void ScrewToDualQuat(const HTuple& ScrewFormat, const HTuple& AxisDirectionX, const HTuple& AxisDirectionY, const HTuple& AxisDirectionZ, const HTuple& AxisMomentOrPointX, const HTuple& AxisMomentOrPointY, const HTuple& AxisMomentOrPointZ, const HTuple& Rotation, const HTuple& Translation, HTuple* DualQuaternion);
  4188. // Segment image using Maximally Stable Extremal Regions (MSER).
  4189. LIntExport void SegmentImageMser(const HObject& Image, HObject* MSERDark, HObject* MSERLight, const HTuple& Polarity, const HTuple& MinArea, const HTuple& MaxArea, const HTuple& Delta, const HTuple& GenParamName, const HTuple& GenParamValue);
  4190. // Send an event to a buffer window signaling a mouse double click event.
  4191. LIntExport void SendMouseDoubleClickEvent(const HTuple& WindowHandle, const HTuple& Row, const HTuple& Column, const HTuple& Button, HTuple* Processed);
  4192. // Send an event to a window buffer signaling a mouse down event.
  4193. LIntExport void SendMouseDownEvent(const HTuple& WindowHandle, const HTuple& Row, const HTuple& Column, const HTuple& Button, HTuple* Processed);
  4194. // Send an event to a buffer window signaling a mouse drag event.
  4195. LIntExport void SendMouseDragEvent(const HTuple& WindowHandle, const HTuple& Row, const HTuple& Column, const HTuple& Button, HTuple* Processed);
  4196. // Send an event to a buffer window signaling a mouse up event.
  4197. LIntExport void SendMouseUpEvent(const HTuple& WindowHandle, const HTuple& Row, const HTuple& Column, const HTuple& Button, HTuple* Processed);
  4198. // Serialize a dual quaternion.
  4199. LIntExport void SerializeDualQuat(const HTuple& DualQuaternion, HTuple* SerializedItemHandle);
  4200. // Serialize a CNN-based OCR classifier
  4201. LIntExport void SerializeOcrClassCnn(const HTuple& OCRHandle, HTuple* SerializedItemHandle);
  4202. // Serialize a texture inspection model.
  4203. LIntExport void SerializeTextureInspectionModel(const HTuple& TextureInspectionModel, HTuple* SerializedItemHandle);
  4204. // Sets the callback for content updates in buffer window.
  4205. LIntExport void SetContentUpdateCallback(const HTuple& WindowHandle, const HTuple& CallbackFunction, const HTuple& CallbackContext);
  4206. // Set the color definition via RGBA values.
  4207. LIntExport void SetRgba(const HTuple& WindowHandle, const HTuple& Red, const HTuple& Green, const HTuple& Blue, const HTuple& Alpha);
  4208. // Set parameters and properties of a surface model.
  4209. LIntExport void SetSurfaceModelParam(const HTuple& SurfaceModelID, const HTuple& GenParamName, const HTuple& GenParamValue);
  4210. // Set parameters of a texture inspection model.
  4211. LIntExport void SetTextureInspectionModelParam(const HTuple& TextureInspectionModel, const HTuple& GenParamName, const HTuple& GenParamValue);
  4212. // Train a texture inspection model.
  4213. LIntExport void TrainTextureInspectionModel(const HTuple& TextureInspectionModel);
  4214. // Write a texture inspection model to a file.
  4215. LIntExport void WriteTextureInspectionModel(const HTuple& TextureInspectionModel, const HTuple& FileName);
  4216. // Reconstruct a surface from several, differently illuminated images.
  4217. LIntExport void UncalibratedPhotometricStereo(const HObject& Images, HObject* NormalField, HObject* Gradient, HObject* Albedo, const HTuple& ResultType);
  4218. // Infer the class affiliations for a set of images using a deep-learning-based classifier.
  4219. LIntExport void ApplyDlClassifier(const HObject& Images, const HTuple& DLClassifierHandle, HTuple* DLClassifierResultHandle);
  4220. // Clear a deep-learning-based classifier.
  4221. LIntExport void ClearDlClassifier(const HTuple& DLClassifierHandle);
  4222. // Clear a handle containing the results of the deep-learning-based classification.
  4223. LIntExport void ClearDlClassifierResult(const HTuple& DLClassifierResultHandle);
  4224. // Clear the handle of a deep-learning-based classifier training result.
  4225. LIntExport void ClearDlClassifierTrainResult(const HTuple& DLClassifierTrainResultHandle);
  4226. // Clear a structured light model and free the allocated memory.
  4227. LIntExport void ClearStructuredLightModel(const HTuple& StructuredLightModel);
  4228. // Create a structured light model.
  4229. LIntExport void CreateStructuredLightModel(const HTuple& ModelType, HTuple* StructuredLightModel);
  4230. // Decode the camera images acquired with a structured light setup.
  4231. LIntExport void DecodeStructuredLightPattern(const HObject& CameraImages, const HTuple& StructuredLightModel);
  4232. // Deserialize a deep-learning-based classifier.
  4233. LIntExport void DeserializeDlClassifier(const HTuple& SerializedItemHandle, HTuple* DLClassifierHandle);
  4234. // Deserialize a structured light model.
  4235. LIntExport void DeserializeStructuredLightModel(const HTuple& SerializedItemHandle, HTuple* StructuredLightModel);
  4236. // Calculate the minimum distance between two contours and the points used for the calculation.
  4237. LIntExport void DistanceCcMinPoints(const HObject& Contour1, const HObject& Contour2, const HTuple& Mode, HTuple* DistanceMin, HTuple* Row1, HTuple* Column1, HTuple* Row2, HTuple* Column2);
  4238. // Fuse 3D object models into a surface.
  4239. LIntExport void FuseObjectModel3d(const HTuple& ObjectModel3D, const HTuple& BoundingBox, const HTuple& Resolution, const HTuple& SurfaceTolerance, const HTuple& MinThickness, const HTuple& Smoothing, const HTuple& NormalDirection, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* ObjectModel3DFusion);
  4240. // Generate the pattern images to be displayed in a structured light setup.
  4241. LIntExport void GenStructuredLightPattern(HObject* PatternImages, const HTuple& StructuredLightModel);
  4242. // Return the parameters of a deep-learning-based classifier.
  4243. LIntExport void GetDlClassifierParam(const HTuple& DLClassifierHandle, const HTuple& GenParamName, HTuple* GenParamValue);
  4244. // Retrieve classification results inferred by a deep-learning-based classifier.
  4245. LIntExport void GetDlClassifierResult(const HTuple& DLClassifierResultHandle, const HTuple& Index, const HTuple& GenResultName, HTuple* GenResultValue);
  4246. // Return the results for the single training step of a deep-learning-based classifier.
  4247. LIntExport void GetDlClassifierTrainResult(const HTuple& DLClassifierTrainResultHandle, const HTuple& GenParamName, HTuple* GenParamValue);
  4248. // Query parameters of a structured light model.
  4249. LIntExport void GetStructuredLightModelParam(const HTuple& StructuredLightModel, const HTuple& GenParamName, HTuple* GenParamValue);
  4250. // Get (intermediate) iconic results of a structured light model.
  4251. LIntExport void GetStructuredLightObject(HObject* Object, const HTuple& StructuredLightModel, const HTuple& ObjectName);
  4252. // Compute the width, height, and aspect ratio of the surrounding rectangle parallel to the coordinate axes.
  4253. LIntExport void HeightWidthRatio(const HObject& Regions, HTuple* Height, HTuple* Width, HTuple* Ratio);
  4254. // Compute the width, height, and aspect ratio of the enclosing rectangle parallel to the coordinate axes of contours or polygons.
  4255. LIntExport void HeightWidthRatioXld(const HObject& XLD, HTuple* Height, HTuple* Width, HTuple* Ratio);
  4256. // Insert objects into an iconic object tuple.
  4257. LIntExport void InsertObj(const HObject& Objects, const HObject& ObjectsInsert, HObject* ObjectsExtended, const HTuple& Index);
  4258. // Read a deep-learning-based classifier from a file.
  4259. LIntExport void ReadDlClassifier(const HTuple& FileName, HTuple* DLClassifierHandle);
  4260. // Read a structured light model from a file.
  4261. LIntExport void ReadStructuredLightModel(const HTuple& FileName, HTuple* StructuredLightModel);
  4262. // Remove objects from an iconic object tuple.
  4263. LIntExport void RemoveObj(const HObject& Objects, HObject* ObjectsReduced, const HTuple& Index);
  4264. // Replaces one or more elements of an iconic object tuple.
  4265. LIntExport void ReplaceObj(const HObject& Objects, const HObject& ObjectsReplace, HObject* Replaced, const HTuple& Index);
  4266. // Serialize a deep-learning-based classifier.
  4267. LIntExport void SerializeDlClassifier(const HTuple& DLClassifierHandle, HTuple* SerializedItemHandle);
  4268. // Serialize a structured light model.
  4269. LIntExport void SerializeStructuredLightModel(const HTuple& StructuredLightModel, HTuple* SerializedItemHandle);
  4270. // Set the parameters of a deep-learning-based classifier.
  4271. LIntExport void SetDlClassifierParam(const HTuple& DLClassifierHandle, const HTuple& GenParamName, const HTuple& GenParamValue);
  4272. // Set a timeout for an operator.
  4273. LIntExport void SetOperatorTimeout(const HTuple& OperatorName, const HTuple& Timeout, const HTuple& Mode);
  4274. // Set parameters of a structured light model.
  4275. LIntExport void SetStructuredLightModelParam(const HTuple& StructuredLightModel, const HTuple& GenParamName, const HTuple& GenParamValue);
  4276. // Perform a training step of a deep-learning-based classifier on a batch of images.
  4277. LIntExport void TrainDlClassifierBatch(const HObject& BatchImages, const HTuple& DLClassifierHandle, const HTuple& BatchLabels, HTuple* DLClassifierTrainResultHandle);
  4278. // Write a deep-learning-based classifier in a file.
  4279. LIntExport void WriteDlClassifier(const HTuple& DLClassifierHandle, const HTuple& FileName);
  4280. // Write a structured light model to a file.
  4281. LIntExport void WriteStructuredLightModel(const HTuple& StructuredLightModel, const HTuple& FileName);
  4282. // Clear the content of a handle.
  4283. LIntExport void ClearHandle(const HTuple& Handle);
  4284. // Deserialize a serialized item.
  4285. LIntExport void DeserializeHandle(const HTuple& SerializedItem, HTuple* Handle);
  4286. // Convert a handle into an integer.
  4287. LIntExport void HandleToInteger(const HTuple& Handle, HTuple* CastedHandle);
  4288. // Convert an integer into a handle.
  4289. LIntExport void IntegerToHandle(const HTuple& IntegerHandle, HTuple* Handle);
  4290. // Serialize the content of a handle.
  4291. LIntExport void SerializeHandle(const HTuple& Handle, HTuple* SerializedItem);
  4292. // Test if the internal representation of a tuple is of type handle.
  4293. LIntExport void TupleIsHandle(const HTuple& T, HTuple* IsHandle);
  4294. // Test whether the elements of a tuple are of type handle.
  4295. LIntExport void TupleIsHandleElem(const HTuple& T, HTuple* IsHandle);
  4296. // Test if a tuple is serializable.
  4297. LIntExport void TupleIsSerializable(const HTuple& Tuple, HTuple* IsSerializable);
  4298. // Test if the elements of a tuple are serializable.
  4299. LIntExport void TupleIsSerializableElem(const HTuple& Tuple, HTuple* IsSerializableElem);
  4300. // Check if a handle is valid.
  4301. LIntExport void TupleIsValidHandle(const HTuple& Handle, HTuple* IsValid);
  4302. // Return the semantic type of a tuple.
  4303. LIntExport void TupleSemType(const HTuple& T, HTuple* SemType);
  4304. // Return the semantic type of the elements of a tuple.
  4305. LIntExport void TupleSemTypeElem(const HTuple& T, HTuple* SemTypes);
  4306. // Apply a deep-learning-based network on a set of images for inference.
  4307. LIntExport void ApplyDlModel(const HTuple& DLModelHandle, const HTuple& DLSampleBatch, const HTuple& Outputs, HTuple* DLResultBatch);
  4308. // Clear a deep learning model.
  4309. LIntExport void ClearDlModel(const HTuple& DLModelHandle);
  4310. // Copy a dictionary.
  4311. LIntExport void CopyDict(const HTuple& DictHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* CopiedDictHandle);
  4312. // Create a new empty dictionary.
  4313. LIntExport void CreateDict(HTuple* DictHandle);
  4314. // Create a deep learning network for object detection.
  4315. LIntExport void CreateDlModelDetection(const HTuple& Backbone, const HTuple& NumClasses, const HTuple& DLModelDetectionParam, HTuple* DLModelHandle);
  4316. // Deserialize a deep learning model.
  4317. LIntExport void DeserializeDlModel(const HTuple& SerializedItemHandle, HTuple* DLModelHandle);
  4318. // Return the HALCON thread ID of the current thread.
  4319. LIntExport void GetCurrentHthreadId(HTuple* HThreadID);
  4320. // Retrieve an object associated with the key from the dictionary.
  4321. LIntExport void GetDictObject(HObject* Object, const HTuple& DictHandle, const HTuple& Key);
  4322. // Query dictionary parameters or information about a dictionary.
  4323. LIntExport void GetDictParam(const HTuple& DictHandle, const HTuple& GenParamName, const HTuple& Key, HTuple* GenParamValue);
  4324. // Retrieve a tuple associated with the key from the dictionary.
  4325. LIntExport void GetDictTuple(const HTuple& DictHandle, const HTuple& Key, HTuple* Tuple);
  4326. // Return the parameters of a deep learning model.
  4327. LIntExport void GetDlModelParam(const HTuple& DLModelHandle, const HTuple& GenParamName, HTuple* GenParamValue);
  4328. // Retrieve an object associated with a key from a handle.
  4329. LIntExport void GetHandleObject(HObject* Object, const HTuple& Handle, const HTuple& Key);
  4330. // Return information about a handle.
  4331. LIntExport void GetHandleParam(const HTuple& Handle, const HTuple& GenParamName, const HTuple& Key, HTuple* GenParamValue);
  4332. // Retrieve a tuple associated with a key from a handle.
  4333. LIntExport void GetHandleTuple(const HTuple& Handle, const HTuple& Key, HTuple* Tuple);
  4334. // Get current value of system information without requiring a license.
  4335. LIntExport void GetSystemInfo(const HTuple& Query, HTuple* Information);
  4336. // Attempt to interrupt an operator running in a different thread.
  4337. LIntExport void InterruptOperator(const HTuple& HThreadID, const HTuple& Mode);
  4338. // Read a dictionary from a file.
  4339. LIntExport void ReadDict(const HTuple& FileName, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* DictHandle);
  4340. // Read a deep learning model from a file.
  4341. LIntExport void ReadDlModel(const HTuple& FileName, HTuple* DLModelHandle);
  4342. // Read a message from a file.
  4343. LIntExport void ReadMessage(const HTuple& FileName, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* MessageHandle);
  4344. // Remove keys from a dictionary.
  4345. LIntExport void RemoveDictKey(const HTuple& DictHandle, const HTuple& Key);
  4346. //
  4347. LIntExport void SendKeyPressEvent(const HTuple& WindowHandle, const HTuple& Char, const HTuple& Code);
  4348. //
  4349. LIntExport void SendKeyReleaseEvent(const HTuple& WindowHandle, const HTuple& Char, const HTuple& Code);
  4350. // Serialize a deep learning model.
  4351. LIntExport void SerializeDlModel(const HTuple& DLModelHandle, HTuple* SerializedItemHandle);
  4352. // Add a key/object pair to the dictionary.
  4353. LIntExport void SetDictObject(const HObject& Object, const HTuple& DictHandle, const HTuple& Key);
  4354. // Add a key/tuple pair to the dictionary.
  4355. LIntExport void SetDictTuple(const HTuple& DictHandle, const HTuple& Key, const HTuple& Tuple);
  4356. // Set the parameters of a deep learning model.
  4357. LIntExport void SetDlModelParam(const HTuple& DLModelHandle, const HTuple& GenParamName, const HTuple& GenParamValue);
  4358. // Train a deep learning model.
  4359. LIntExport void TrainDlModelBatch(const HTuple& DLModelHandle, const HTuple& DLSampleBatch, HTuple* DLTrainResult);
  4360. // Write a dictionary to a file.
  4361. LIntExport void WriteDict(const HTuple& DictHandle, const HTuple& FileName, const HTuple& GenParamName, const HTuple& GenParamValue);
  4362. // Write a deep learning model in a file.
  4363. LIntExport void WriteDlModel(const HTuple& DLModelHandle, const HTuple& FileName);
  4364. // Write a message to a file.
  4365. LIntExport void WriteMessage(const HTuple& MessageHandle, const HTuple& FileName, const HTuple& GenParamName, const HTuple& GenParamValue);
  4366. // Calculate the intersection area of oriented rectangles.
  4367. LIntExport void AreaIntersectionRectangle2(const HTuple& Rect1Row, const HTuple& Rect1Column, const HTuple& Rect1Phi, const HTuple& Rect1Length1, const HTuple& Rect1Length2, const HTuple& Rect2Row, const HTuple& Rect2Column, const HTuple& Rect2Phi, const HTuple& Rect2Length1, const HTuple& Rect2Length2, HTuple* AreaIntersection);
  4368. // Get the current contour display fill style.
  4369. LIntExport void GetContourStyle(const HTuple& WindowHandle, HTuple* Style);
  4370. // Get the clutter parameters of a shape model.
  4371. LIntExport void GetShapeModelClutter(HObject* ClutterRegion, const HTuple& ModelID, const HTuple& GenParamName, HTuple* GenParamValue, HTuple* HomMat2D, HTuple* ClutterContrast);
  4372. // Define the contour display fill style.
  4373. LIntExport void SetContourStyle(const HTuple& WindowHandle, const HTuple& Style);
  4374. // Set the clutter parameters of a shape model.
  4375. LIntExport void SetShapeModelClutter(const HObject& ClutterRegion, const HTuple& ModelID, const HTuple& HomMat2D, const HTuple& ClutterContrast, const HTuple& GenParamName, const HTuple& GenParamValue);
  4376. // Find boxes in 3D data.
  4377. LIntExport void FindBox3d(const HTuple& ObjectModel3DScene, const HTuple& SideLen1, const HTuple& SideLen2, const HTuple& SideLen3, const HTuple& MinScore, const HTuple& GenParam, HTuple* GrippingPose, HTuple* Score, HTuple* ObjectModel3DBox, HTuple* BoxInformation);
  4378. // Read bytes from a binary file.
  4379. LIntExport void FreadBytes(const HTuple& FileHandle, const HTuple& NumberOfBytes, HTuple* ReadData, HTuple* IsEOF);
  4380. // Write bytes to a binary file.
  4381. LIntExport void FwriteBytes(const HTuple& FileHandle, const HTuple& DataToWrite, HTuple* NumberOfBytesWritten);
  4382. // Infer the sample and generate a heatmap.
  4383. LIntExport void GenDlModelHeatmap(const HTuple& DLModelHandle, const HTuple& DLSample, const HTuple& HeatmapMethod, const HTuple& TargetClasses, const HTuple& GenParam, HTuple* DLResult);
  4384. // Read metadata from image files.
  4385. LIntExport void ReadImageMetadata(const HTuple& Format, const HTuple& TagName, const HTuple& FileName, HTuple* TagValue);
  4386. // Shape factor for the rectangularity of contours or polygons.
  4387. LIntExport void RectangularityXld(const HObject& XLD, HTuple* Rectangularity);
  4388. // Remove attributes of a 3D object model.
  4389. LIntExport void RemoveObjectModel3dAttrib(const HTuple& ObjectModel3D, const HTuple& Attributes, HTuple* ObjectModel3DOut);
  4390. // Remove attributes of a 3D object model.
  4391. LIntExport void RemoveObjectModel3dAttribMod(const HTuple& ObjectModel3D, const HTuple& Attributes);
  4392. // Train a deep learning model for anomaly detection.
  4393. LIntExport void TrainDlModelAnomalyDataset(const HTuple& DLModelHandle, const HTuple& DLSamples, const HTuple& DLTrainParam, HTuple* DLTrainResult);
  4394. // Extract watersheds and combine basins based on markers.
  4395. LIntExport void WatershedsMarker(const HObject& Image, const HObject& Markers, HObject* Basins);
  4396. // Write metadata of image files.
  4397. LIntExport void WriteImageMetadata(const HTuple& Format, const HTuple& TagName, const HTuple& TagValue, const HTuple& FileName);
  4398. // Compute the inverse hyperbolic cosine of a tuple.
  4399. LIntExport void TupleAcosh(const HTuple& T, HTuple* Acosh);
  4400. // Compute the inverse hyperbolic sine of a tuple.
  4401. LIntExport void TupleAsinh(const HTuple& T, HTuple* Asinh);
  4402. // Compute the inverse hyperbolic tangent of a tuple.
  4403. LIntExport void TupleAtanh(const HTuple& T, HTuple* Atanh);
  4404. // Compute the cube root of a tuple.
  4405. LIntExport void TupleCbrt(const HTuple& T, HTuple* Cbrt);
  4406. // Compute the error function of a tuple.
  4407. LIntExport void TupleErf(const HTuple& T, HTuple* Erf);
  4408. // Compute the complementary error function of a tuple.
  4409. LIntExport void TupleErfc(const HTuple& T, HTuple* Erfc);
  4410. // Compute the base 10 exponential of a tuple.
  4411. LIntExport void TupleExp10(const HTuple& T, HTuple* Exp);
  4412. // Compute the base 2 exponential of a tuple.
  4413. LIntExport void TupleExp2(const HTuple& T, HTuple* Exp);
  4414. // Calculate the hypotenuse of two tuples.
  4415. LIntExport void TupleHypot(const HTuple& T1, const HTuple& T2, HTuple* Hypot);
  4416. // Compute the logarithm of the absolute value of the gamma function of a tuple.
  4417. LIntExport void TupleLgamma(const HTuple& T, HTuple* LogGamma);
  4418. // Compute the base 2 logarithm of a tuple.
  4419. LIntExport void TupleLog2(const HTuple& T, HTuple* Log);
  4420. // Compute the gamma function of a tuple.
  4421. LIntExport void TupleTgamma(const HTuple& T, HTuple* Gamma);
  4422. // Adapt a shape model's parameters for high noise images.
  4423. LIntExport void AdaptShapeModelHighNoise(const HObject& ImageReduced, const HTuple& ModelID, const HTuple& GenParam, HTuple* ResultDict);
  4424. // Calculate scores to prune a deep learning model.
  4425. LIntExport void AddDlPruningBatch(const HTuple& DLModelHandleToPrune, const HTuple& DLPruningHandle, const HTuple& DLSampleBatch);
  4426. // Apply a Deep OCR model on a set of images for inference.
  4427. LIntExport void ApplyDeepOcr(const HObject& Image, const HTuple& DeepOcrHandle, const HTuple& Mode, HTuple* DeepOcrResult);
  4428. // Create a Deep OCR model.
  4429. LIntExport void CreateDeepOcr(const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* DeepOcrHandle);
  4430. // Create a pruning data handle.
  4431. LIntExport void CreateDlPruning(const HTuple& DLModelHandle, const HTuple& Mode, const HTuple& GenParam, HTuple* DLPruningHandle);
  4432. // Cut out one or more arbitrarily oriented rectangular image areas.
  4433. LIntExport void CropRectangle2(const HObject& Image, HObject* ImagePart, const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Length1, const HTuple& Length2, const HTuple& AlignToAxis, const HTuple& Interpolation);
  4434. // Prune a deep learning model.
  4435. LIntExport void GenDlPrunedModel(const HTuple& DLModelHandleToPrune, const HTuple& DLPruningHandle, HTuple* DLModelHandlePruned);
  4436. // Return the parameters of a Deep OCR model.
  4437. LIntExport void GetDeepOcrParam(const HTuple& DeepOcrHandle, const HTuple& GenParamName, HTuple* GenParamValue);
  4438. // Return the parameters of a deep-learning-capable hardware device.
  4439. LIntExport void GetDlDeviceParam(const HTuple& DLDeviceHandle, const HTuple& GenParamName, HTuple* GenParamValue);
  4440. // Get information from a pruning data handle.
  4441. LIntExport void GetDlPruningParam(const HTuple& DLPruningHandle, const HTuple& GenParamName, HTuple* GenParamValue);
  4442. // Get list of deep-learning-capable hardware devices.
  4443. LIntExport void QueryAvailableDlDevices(const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* DLDeviceHandles);
  4444. // Read a Deep OCR model from a file.
  4445. LIntExport void ReadDeepOcr(const HTuple& FileName, HTuple* DeepOcrHandle);
  4446. // Set the parameters of a Deep OCR model.
  4447. LIntExport void SetDeepOcrParam(const HTuple& DeepOcrHandle, const HTuple& GenParamName, const HTuple& GenParamValue);
  4448. // Set parameter in a pruning data handle.
  4449. LIntExport void SetDlPruningParam(const HTuple& DLPruningHandle, const HTuple& GenParamName, const HTuple& GenParamValue);
  4450. // Write a Deep OCR model in a file.
  4451. LIntExport void WriteDeepOcr(const HTuple& DeepOcrHandle, const HTuple& FileName);
  4452. }
  4453. #endif