发明内容
为了降低成本,同时提高符合事件判定效率,本发明提供了一种基于硬件的符合事件判定方法和装置。
本发明提供一种基于硬件的符合事件判定方法,所述方法包括:
获取待处理事件的事件信息,所述事件信息包括发生时间、发生位置和能量;
根据所述发生时间,将所述待处理事件的事件信息划分成N个数据块,所述N为自然数;
将所述N个数据块的事件信息在预先建立的并行处理通道中分别进行符合事件判定。
优选地,所述将所述N个数据块的事件信息在预先建立的并行处理通道中分别进行符合事件判定,包括:
针对任一处理通道中的数据块的事件信息进行符合事件判定的流程:
将处理通道中的数据块的待处理事件按照发生时间进行排序,获取排序后数据块;根据发生时间,对所述排序后数据块中的待处理事件进行时间符合判定后,获取时间符合事件;根据发生位置,对所述时间符合事件进行空间符合判定后,获取符合事件。
优选地,所述将处理通道中的数据块的待处理事件按照发生时间进行排序,获取排序后数据块,包括:
获取处理通道中的数据块的待处理事件的发生时间;
根据所述发生时间,对所述数据块中的待处理事件进行RAM排序后,获取排序后数据块。
优选地,所述根据发生时间,对所述排序后数据块中的待处理事件进行时间符合判定后,获取时间符合事件,包括:
将所述排序后数据块中的第一个待处理事件确定为预符合事件,执行判定时间符合事件的流程:将所述预符合事件的发生时间确定为起始时间后,开始计时,在计时结果达到预设的符合时间间隔时,判断所述计时结果内是否发生待处理事件,如果是,则将所述预符合事件加入符合事件组,所述符合事件组包括待处理事件,并将所述计时结果内发生的第一个待处理事件重新确定为预符合事件,继续执行所述判定时间符合事件的流程,直到计时结果内不发生待处理事件,继续将所述预符合事件加入所述符合事件组;将所述符合事件组中的待处理事件确定为所述排序后数据块中的时间符合事件;
将与最后一次确定的预符合事件相邻的下一个待处理事件确定为预符合事件,继续执行所述判定时间符合事件的流程,直到所述排序后数据块中的待处理事件均完成判定时间符合事件的流程。
优选地,所述方法还包括:
当时间符合事件中包括一个待处理事件时,删除所述时间符合事件。
优选地,所述方法还包括:
当时间符合事件中包括大于三个待处理事件时,删除所述时间符合事件。
优选地,所述根据发生位置,对所述时间符合事件进行空间符合判定后,获取符合事件,包括:
当时间符合事件中包括两个待处理事件时,获取所述时间符合事件中的待处理事件的发生位置;
判断所述发生位置是否均属于预设的视野范围之内,如果是,则判断所述发生位置是否均符合预设位置层条件,如果是,则确定所述时间符合事件为符合事件;或者,判断所述发生位置是否均符合预设位置层条件,如果是,则判断所述发生位置是否均属于预设的视野范围之内,如果是,则确定所述时间符合事件为符合事件。
优选地,所述根据发生位置,对所述时间符合事件进行空间符合判定后,获取符合事件,包括:
当时间符合事件中包括三个待处理事件时,获取所述时间符合事件中的待处理事件的发生位置,在所述发生位置均属于预设的视野范围之内的情况下,删除所述时间符合事件中除能量和最大的两个事件之外的待处理事件后,确定所述时间符合事件为符合事件。
本发明还提供一种基于硬件的符合事件判定装置,所述装置包括:
第一获取模块,用于获取待处理事件的事件信息,所述事件信息包括发生时间、发生位置和能量;
划分模块,用于根据所述发生时间,将所述待处理事件的事件信息划分成N个数据块,所述N为自然数;
第一判定模块,用于将所述N个数据块的事件信息在预先建立的并行处理通道中分别进行符合事件判定。
优选地,所述第一判定模块,包括:
触发子模块,用于针对任一处理通道中的数据块的事件信息触发所述排序子模块;
排序子模块,用于将处理通道中的数据块的待处理事件按照发生时间进行排序,获取排序后数据块;
时间判定子模块,用于根据发生时间,对所述排序后数据块中的待处理事件进行时间符合判定后,获取时间符合事件;
空间判定子模块,用于根据发生位置,对所述时间符合事件进行空间符合判定后,获取符合事件。
优选地,所述排序子模块,包括:
第一获取子模块,用于获取处理通道中的数据块的待处理事件的发生时间;
第一排序子模块,用于根据所述发生时间,对所述数据块中的待处理事件进行RAM排序后,获取排序后数据块。
优选地,所述时间判定子模块,包括:
第一确定子模块,用于将所述排序后数据块中的第一个待处理事件确定为预符合事件;
计时子模块,用于将所述预符合事件的发生时间确定为起始时间后,开始计时;
第一判断子模块,用于在计时结果达到预设的符合时间间隔时,判断所述计时结果内是否发生待处理事件;
第一添加子模块,用于在所述第一判断子模块的结果为是时,将所述预符合事件加入符合事件组,所述符合事件组包括待处理事件;
第二确定子模块,用于将所述计时结果内发生的第一个待处理事件重新确定为预符合事件,继续触发所述计时子模块,直到计时结果内不发生待处理事件,
第二添加子模块,用于继续将所述预符合事件加入所述符合事件组;
第三确定子模块,用于将所述符合事件组中的待处理事件确定为所述排序后数据块中的时间符合事件;
第四确定子模块,用于将与最后一次确定的预符合事件相邻的下一个待处理事件确定为预符合事件,继续触发所述计时子模块,直到所述排序后数据块中的待处理事件均完成判定时间符合事件的流程。
优选地,所述装置还包括:
第一删除子模块,用于当时间符合事件中包括一个待处理事件时,删除所述时间符合事件。
优选地,所述装置还包括:
第二删除子模块,用于当时间符合事件中包括大于三个待处理事件时,删除所述时间符合事件。
优选地,所述空间判定子模块,包括:
第二获取子模块,用于当时间符合事件中包括两个待处理事件时,获取所述时间符合事件中的待处理事件的发生位置;
第二判断子模块,用于判断所述第二获取子模块的发生位置是否均属于预设的视野范围之内;
第三判断子模块,用于在第二判断子模块的结果为是时,判断所述发生位置是否均符合预设位置层条件;
第四确定子模块,用于在所述第三判断子模块的结果为是时,确定所述时间符合事件为符合事件;
或者,
第四判断子模块,用于判断所述第二获取子模块的发生位置是否均符合预设位置层条件;
第五判断子模块,用于在所述第四判断子模块的结果为是时,判断所述发生位置是否均属于预设的视野范围之内;
第五确定子模块,用于在所述第五判断子模块的结果为是时,确定所述时间符合事件为符合事件。
优选地,所述空间判定子模块,包括:
第三获取子模块,用于当时间符合事件中包括三个待处理事件时,获取所述时间符合事件中的待处理事件的发生位置;
第六确定子模块,用于在所述发生位置均属于预设的视野范围之内的情况下,删除所述时间符合事件中除能量和最大的两个事件之外的待处理事件后,确定所述时间符合事件为符合事件。
本发明首先获取待处理事件的事件信息,所述事件信息包括发生时间、发生位置和能量,其次,根据所述发生时间,将所述待处理事件的事件信息划分成N个数据块,所述N为自然数,最后,将所述N个数据块的事件信息在预先建立的并行处理通道中分别进行符合事件判定,本发明利用并行处理通道进行符合事件判定,克服了现有技术中串行处理的缺点,缩短了符合事件判定的时间。与现有技术相比,本发明的基于硬件的符合事件判定方法提高了符合事件判定效率。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
目前商业化PET中的符合事件判定的实现形式受计算机软件处理能力限制,还是比较倾向于硬件处理,但在硬件处理的前提下,由于符合事件的数据处理量巨大,如果实现方法选择不当,将造成硬件成本的急剧增加。
本实施例的设计原理主要是采用基于时间戳的数据处理方式,提供一种符合数据数字化处理,预先获取预设时间段内的湮灭事件的信息,使巨量的湮灭事件数据可以通过硬件完成符合事件判定过程,实时与非实时数据处理相结合的硬件符合处理方法,极大地降低了探测装置与计算机之间的数据通讯压力,完美实现商业化PET的设计。
前端探测装置所采集的实时数据,在进行符合处理的过程中,由于硬件系统的处理能力有限,如果全部数据进行串行处理,前面的数据还没有处理完,后面的数据就已经到了,势必产生数据堵塞,容易造成信息丢失。本实施例将待处理的数据按一定时间顺序分割成块,将原来的整个串行处理流程,变成若干个并行的子处理流程,如图2所示,图2为串行处理和并行处理对比示意图,每一个子处理流程依次轮流处理一个分块的事件信息,而每一个子处理流程与串行处理流程的数据处理过程相同,只是子处理流程的数据处理量要小很多。这样,就单一分块的数据处理来说,是一种非实时的处理过程,而就前端探测装置所采集的实时数据自身来说,基本可以保证系统是一个相对实时的数据处理系统。理论上,并行的子流程越多,系统的处理速度就越快,但是,由于硬件的资源有限,子处理流程不可以无限增多,这就要求每个子处理流程的处理时间要尽量短,这样就可以减少并行的子处理流程的个数,理想的情况是并行处理子流程的数量、单一子流程的处理时间和硬件资源消耗之间的达到平衡关系,本实施例中的硬件主要指FPGA、CPLD及ASIC电路,或由双口RAM等专有芯片搭建的专用电路。
参考图3,图3为本实施例提供的基于硬件的符合事件判定方法流程图,具体包括:
步骤301:获取待处理事件的事件信息,所述事件信息包括发生时间、发生位置和能量。
本实施例中,获取前端探测装置所采集的待处理事件的事件信息,将前端探测装置探测到的待处理事件的发生时间、发生位置和能量进行记录,其中,事件信息包括发生时间、发生位置和能量,具体的,发生时间为待处理事件发生的时间点,发生位置为待处理事件发生时所处的前端探测装置的位置,能量为待处理事件发生时产生的能量。
步骤302:根据所述发生时间,将所述待处理事件的事件信息划分成N个数据块,所述N为自然数。
本实施例中,由于待处理事件的事件信息的数据量较大,为了提高符合事件判定的效率,首先获取待处理事件的发生时间,其次,根据发生时间将待处理事件的事件信息划分成N个数据块,最后,以数据块为单位,分别对各个数据块中的待处理事件的事件信息进行符合事件判定。
由于符合事件为在符合时间窗之内到达探测装置的若干事件,所以,符合事件的判定与事件的发生时间有很大的关系。本实施例根据待处理事件的发生时间将所述待处理事件的事件信息划分成N个数据块,其中,数据块的个数可以根据需求进行设置,也可以根据前端探测装置的晶体材料设置,每个数据块内的事件信息作为后续步骤中的排序、时间和空间符合判定等操作的处理对象。具体的,每个数据块中的待处理事件为发生时间处于预设时间区域的待处理事件。例如,利用进行过同步调整的全局时钟计时,将发生时间为1~250ns的待处理事件确定为一个数据块,同时将发生时间为251ns~500ns的待处理事件确定为另一个数据块。
步骤303:将所述N个数据块的事件信息在预先建立的并行处理通道中分别进行符合事件判定。
本实施例中,由于每一个数据块的事件信息都要进行排序、时间符合判定和空间符合判定等处理,现有技术采用串行的数据处理方式要花费大量的时间,可能造成串行处理中的数据堵塞,本实施例将串行处理调整为若干个功能相同的处理子流程并行处理,从而分别完成各个数据块中的事件信息的处理过程。
实际操作中,首先建立并行处理通道,其中,并行处理通道为功能相同的处理子流程,其次,将N个数据块的事件信息分别放入并行处理通道中进行符合事件的判定。
其中,当数据块的个数小于或者等于并行的处理通道的个数时,将数据块放入其中若干个处理通道中进行符合事件的判定,每个处理通道最多处理一个数据块。当数据块的个数大于并行的处理通道的个数时,将每个处理通道中分别放入一个数据块,当任意一个处理通道中的数据块中的事件信息完成符合事件的判定后,将未进行符合事件判定的数据块中的任意一个放入该处理通道中,继续进行符合事件的判定,直到完成N个数据块的事件信息的处理。
本实施例利用并行处理通道进行符合事件判定,克服了现有技术中串行处理的缺点,缩短了符合事件判定的时间。与现有技术相比,本实施例的基于硬件的符合事件判定方法提高了符合事件判定效率。
实施例二
本实施例中,将所述N个数据块的事件信息在预先建立的并行处理通道中分别进行符合事件判定的过程做如下介绍,参考图4,图4为本实施例提供的符合事件判定的方法流程图,具体可以包括:
针对任一处理通道中的数据块的事件信息进行符合事件判定的流程:
步骤401:将处理通道中的数据块的待处理事件按照发生时间进行排序,获取排序后数据块。
本实施例中,首先获取数据块的待处理事件的发生时间,其次,按照发生时间对待处理事件进行排序,最后,获取排序后数据块。
由于处理通道中的数据块的待处理事件的事件信息是由前端探测器多个探测模块获取而来,待处理事件的发生时间是先后乱序的,系统需要先将待处理事件按照发生时间的先后顺序排列,这样才能有利于后续步骤有效地对发生时间相邻的事件进行时间符合判断。
实际操作中,可以首先获取处理通道中的数据块的待处理事件的发生时间;根据所述发生时间,对所述数据块中的待处理事件进行RAM排序后,获取排序后数据块。
例如,RAM排序方法具体为将时间戳数据作为RAM地址,处理通道中的数据块中的事件信息作为存入RAM的数据。当数据被依次存入RAM中时,数据就已经按照时间戳先后顺序排列好了,接收到结束信号之后,便可以按照发生时间从小到大的顺序读出数据,从而获取了排序后数据块。
步骤402:根据发生时间,对所述排序后数据块中的待处理事件进行时间符合判定后,获取时间符合事件。
本实施例中,将按发生时间排序的排序后数据块中的数据先进行时间符合判定,也就是说,判断发生时间相邻的待处理事件是不是发生在预先设置的时间阈值内,以确定发生时间相邻的待处理事件是否为时间符合事件。
实际操作中,根据发生时间,对所述排序后数据块中的待处理事件进行时间符合判定后,获取时间符合事件可以包括:
首先,将排序后数据块中的第一个待处理事件确定为预符合事件,执行判定时间符合事件的流程:
第一、将所述预符合事件的发生时间确定为起始时间后,开始计时。
第二、在计时结果达到预设的符合时间间隔时,判断所述计时结果内是否发生待处理事件,如果是,则将所述预符合事件加入符合事件组,所述符合事件组包括待处理事件,并将所述计时结果内发生的第一个待处理事件重新确定为预符合事件,继续执行所述判定时间符合事件的流程,直到计时结果内不发生待处理事件,继续将所述预符合事件加入所述符合事件组。
第三、将所述符合事件组中的待处理事件确定为所述排序后数据块中的时间符合事件;
第四、将与最后一次确定的预符合事件相邻的下一个待处理事件确定为预符合事件,继续执行所述判定时间符合事件的流程,直到所述排序后数据块中的待处理事件均完成判定时间符合事件的流程。
值得注意的是,当获取的时间符合事件中仅包括一个待处理事件时,将所述时间符合事件删除。同时,当时间符合事件中包括大于三个待处理事件时,也删除所述时间符合事件。也就是说,本实施例只针对包括两个或者三个待处理事件的时间符合事件进行符合事件判定。
步骤403:根据发生位置,对所述时间符合事件进行空间符合判定后,获取符合事件。
本实施例中,对时间符合事件进行空间符合判定包括两个方面,一方面需要判断时间符合事件的发生位置是否属于预设的视野范围之内,另一方面需要判断时间符合事件的发生位置是否均符合预设位置层条件。对于上述两个方面均符合的时间符合事件可以被确定为符合事件。
实际操作中,当时间符合事件中包括两个待处理事件时,获取所述时间符合事件中的待处理事件的发生位置;
首先,判断所述发生位置是否均属于预设的视野范围之内,如果是,则判断所述发生位置是否均符合预设位置层条件,如果是,则确定所述时间符合事件为符合事件;
或者,首先判断所述发生位置是否均符合预设位置层条件,如果是,则判断所述发生位置是否均属于预设的视野范围之内,如果是,则确定所述时间符合事件为符合事件。
具体的,上述两个方面的判断顺序不受限制。
另外,当时间符合事件中包括三个待处理事件时,获取所述时间符合事件中的待处理事件的发生位置,在所述发生位置均属于预设的视野范围之内的情况下,删除所述时间符合事件中除能量和最大的两个事件之外的待处理事件后,确定所述时间符合事件为符合事件。
具体的,在时间符合事件中包括的三个待处理事件的发生位置均属于预设的视野范围之内的情况下,首先,计算三个待处理事件中两两待处理事件的能量和,其次,获取能量和最大的两个待处理事件,同时将另一个待处理事件删除,最后,将剩下的两个能量和最大的待处理事件确定为符合事件。
本发明将原有的串行处理机制调整为并行处理机制,利用并行处理通道进行符合事件判定,克服了现有技术中串行处理的缺点,来保证每个时间段的事件信息都能完成处理,缩短了符合事件判定的时间,使得整个时间轴上的数据不会因此而发生堵塞或造成丢失。与现有技术相比,本发明的基于硬件的符合事件判定方法提高了符合事件判定效率。
实施例三
参考图5,图5为本实施例提供的基于硬件的符合事件判定装置结构图,所述装置可以包括:
第一获取模块501,用于获取待处理事件的事件信息,所述事件信息包括发生时间、发生位置和能量;
划分模块502,用于根据所述发生时间,将所述待处理事件的事件信息划分成N个数据块,所述N为自然数;
第一判定模块503,用于将所述N个数据块的事件信息在预先建立的并行处理通道中分别进行符合事件判定。
所述第一判定模块503可以包括:
触发子模块,用于针对任一处理通道中的数据块的事件信息触发所述排序子模块;
排序子模块,用于将处理通道中的数据块的待处理事件按照发生时间进行排序,获取排序后数据块;
时间判定子模块,用于根据发生时间,对所述排序后数据块中的待处理事件进行时间符合判定后,获取时间符合事件;
空间判定子模块,用于根据发生位置,对所述时间符合事件进行空间符合判定后,获取符合事件。
所述排序子模块可以包括:
第一获取子模块,用于获取处理通道中的数据块的待处理事件的发生时间;
第一排序子模块,用于根据所述发生时间,对所述数据块中的待处理事件进行RAM排序后,获取排序后数据块。
所述时间判定子模块可以包括:
第一确定子模块,用于将所述排序后数据块中的第一个待处理事件确定为预符合事件;
计时子模块,用于将所述预符合事件的发生时间确定为起始时间后,开始计时;
第一判断子模块,用于在计时结果达到预设的符合时间间隔时,判断所述计时结果内是否发生待处理事件;
第一添加子模块,用于在所述第一判断子模块的结果为是时,将所述预符合事件加入符合事件组,所述符合事件组包括待处理事件;
第二确定子模块,用于将所述计时结果内发生的第一个待处理事件重新确定为预符合事件,继续触发所述计时子模块,直到计时结果内不发生待处理事件,
第二添加子模块,用于继续将所述预符合事件加入所述符合事件组;
第三确定子模块,用于将所述符合事件组中的待处理事件确定为所述排序后数据块中的时间符合事件;
第四确定子模块,用于将与最后一次确定的预符合事件相邻的下一个待处理事件确定为预符合事件,继续触发所述计时子模块,直到所述排序后数据块中的待处理事件均完成判定时间符合事件的流程。
所述装置还包括:
第一删除子模块,用于当时间符合事件中包括一个待处理事件时,删除所述时间符合事件。
所述装置还包括:
第二删除子模块,用于当时间符合事件中包括大于三个待处理事件时,删除所述时间符合事件。
所述空间判定子模块,包括:
第二获取子模块,用于当时间符合事件中包括两个待处理事件时,获取所述时间符合事件中的待处理事件的发生位置;
第二判断子模块,用于判断所述第二获取子模块的发生位置是否均属于预设的视野范围之内;
第三判断子模块,用于在第二判断子模块的结果为是时,判断所述发生位置是否均符合预设位置层条件;
第四确定子模块,用于在所述第三判断子模块的结果为是时,确定所述时间符合事件为符合事件;
或者,
第四判断子模块,用于判断所述第二获取子模块的发生位置是否均符合预设位置层条件;
第五判断子模块,用于在所述第四判断子模块的结果为是时,判断所述发生位置是否均属于预设的视野范围之内;
第五确定子模块,用于在所述第五判断子模块的结果为是时,确定所述时间符合事件为符合事件。
所述空间判定子模块,包括:
第三获取子模块,用于当时间符合事件中包括三个待处理事件时,获取所述时间符合事件中的待处理事件的发生位置;
第六确定子模块,用于在所述发生位置均属于预设的视野范围之内的情况下,删除所述时间符合事件中除能量和最大的两个事件之外的待处理事件后,确定所述时间符合事件为符合事件。
本实施例首先获取待处理事件的事件信息,所述事件信息包括发生时间、发生位置和能量,其次,根据所述发生时间,将所述待处理事件的事件信息划分成N个数据块,所述N为自然数,最后,将所述N个数据块的事件信息在预先建立的并行处理通道中分别进行符合事件判定,本实施例利用并行处理通道进行符合事件判定,克服了现有技术中串行处理的缺点,缩短了符合事件判定的时间。与现有技术相比,本实施例的基于硬件的符合事件判定方法提高了符合事件判定效率。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明实施例所提供的基于硬件的符合事件判定方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。