首页 > 其他分享 >光学成像系统 Part III - BRDF测试数据使用 (二)

光学成像系统 Part III - BRDF测试数据使用 (二)

时间:2023-07-05 10:47:07浏览次数:52  
标签:num format BRDF Part fid theta pi III

一、BRDF实验数据使用方法

1. 数据集-下载

I. 数据集格式(Anisotropic BRDF Data File Format)

解压后的数据集以 .dat 尾缀结束,文件包括了 64Bytes 的文件头,用来表示文件中数据的维度,存储格式等信息,在表头之后的便是对应的数据值,具体如下所示:

\[3 (RGB) \times dim[0] \times dim[1] \times dim[2] \times dim[3] \times (4 bytes \; per \; float). \]

图1 文件 Header 头部分解释

     对于 ParamType=1 的标准数据集,数据集的四个维度 \(dim[0..3]\) ,依次对应了入射光束 \(\theta_{in} ,\varphi_{in}\) , 出射光束 \(\theta_{out} ,\varphi_{diff}\) : \([ theta\_in, theta\_out, phi\_diff, phi\_in ]\) ,参考理论分析章节,而这些空间角度对应的范围为:

  • \(\theta_{in}\in [0,\pi/2]\)
  • \(\theta_{out}\in [0,\pi/2]\)
  • \(\varphi_{in}\in [0,\pi]\)
  • 如果 Half_data=1: \(\varphi_{diff}\in [0,\pi]\) 否则 \(\varphi_{diff}\in [0,2\pi]\)

标签:num,format,BRDF,Part,fid,theta,pi,III
From: https://www.cnblogs.com/uestc-mm/p/17527728.html

相关文章

  • 算法学习day06哈希表part01-242、349、202、1
    packageSecondBrush.Hash;/***242.有效字母异位词*现在看到这个题目能想到怎么做,但是具体不知道怎么写*大致思路自己先描述一下:*就是建立一个hash表,然后遍历s,写进表中,遍历t,减去对应的数*hash表就可以理解为数组*/publicclassValidAnagram_242{publi......
  • 算法学习day07哈希表part02-454、383、15、18
    packageSecondBrush.Hash;importjava.util.HashMap;importjava.util.Map;/***454.四数相加II*给你四个整数数组nums1、nums2、nums3和nums4,数组长度都是n,请你计算有多少个元组(i,j,k,l)能满足:*0<=i,j,k,l<n*nums1[i]+nums2[j]+nums3[k......
  • 123. 买卖股票的最佳时机 III
    1.题目读题  考查点 2.解法思路 有两种解法动态规划双指针代码逻辑 具体实现 动态规划思路动态规划的思路是这样的:我们可以把问题分解成多个子问题,每个子问题都是在某一天结束时,完成了多少次交易,手上是否持有股票,以及此时的最大利润是多少。我们......
  • 关于Gin如何在multipart/form-data请求下解析JSON数组
    前言众所周知,在Gin下,如果只是在multipart/form-data请求下解析JSON对象到结构体的话就比较简单。但是如果是要解析JSON数组到对应请求结构体呢?正文举个例子:typeAddItemstruct{IDint`form:"-"` Images[]*multipart.FileHea......
  • 【CF1146F】Leaf Partition
    这个题还是蛮有趣的,其实弄清楚这个染色的方案,这个题还是简单的。本质上只是对于考虑对于连通块染色,但是带有一些限制。所以我们考虑在LCA上拼接若干条根到叶子的路径。那我们就可以依据这一想法来设计状态。第一是这个点没有染色,那我们记这一状态为\(h\)。第二是这个点连......
  • 动态规划 Part II
    大家好,我是wangmy。众所周知动态规划将原问题分解成若干个子问题,再把子问题分解成若干更多子问题。先求解子问题,再从这些子问题的解得到原问题的解。今天我给大家分享一下动态规划的几道题和参考代码。砝码秤重题目描述(Description)设有n种砝码,第k种砝码有Ck个,每个重量均为Wk,......
  • 算法学习day03链表part01-203、707、206
    packageSecondBrush.LinkedList.LL1;/***203.移除链表元素*删除链表中等于给定值val的所有节点。*自己再次概述一下这个过程:*1.移除元素,要采用设置虚拟节点的方式,因为那样不需要考虑头结点问题*2.设置两个虚拟指向*3.移除元素就是遍历链表,然后碰到目标值......
  • 算法学习day04链表part02-24、19、0207、142
    packageSecondBrush.LinkedList.LL1;/***24.两两交换链表中的节点**/publicclassSwapNodesInPairs_24{publicListNodeswapPairs(ListNodehead){ListNodedummyhead=newListNode(-1);dummyhead.next=head;ListNodecur......
  • 代码随想录算法训练营第二十一天| 216.组合总和III 17.电话号码的字母组合
    216.组合总和III  思路:很像上一个组合类型的题目,唯一不同的就是自己写一个sum代码:1voidconvertBST_cur(TreeNode*root,vector<TreeNode*>&nodes)2{3if(!root)return;4if(root->left)convertBST_cur(root->left,nodes);5nodes.push_bac......
  • python + requests:请求头('Content-Type': 'multipart/form-data'),并且files和其他参数
    解释1.在使用'Content-Type':'multipart/form-data'上传文件时,你需要将文件作为请求体的一部分进行传输。而由于文件可能非常大,因此需要将文件分成多个部分进行传输。这就需要使用多部分编码(MultipartEncoding)来将文件分割成多个部分,并将每个部分与其它的表单数据一起打包到一......