DeepLearnPhysics / larcv2

MIT License
13 stars 16 forks source link

Validity Information for BatchFillerBBox2D #23

Open twongjirad opened 6 years ago

twongjirad commented 6 years ago

Return/create a (B,NMAXBB,1,1) matrix which designates valid boxes. However, how to create a BatchFiller routine that returns two template objects?

drinkingkazu commented 6 years ago

ATM BatchFiller classes (those inherit from BatchFillerTemplate) can only have 1 sd::vector as "batch data" to fill and return. Hence one has to write a separate algorithm to fill more than one data.

But it makes sense one wants to derive more than one information from single algorithm. I'll think on the plane about how to change this.

twongjirad commented 6 years ago

Notes to self:

Hmm, have to create something like a BatchFillerTemplate that instead creates N BatchData holders for multiple items.

Either have to specify both template types (possible?), or restricted to all data being same type like float. then exposed to bugs due to float -> int conversions ...

... oh github page just updated, showing you are thinking about this already.

drinkingkazu commented 6 years ago

One way to do this is to decouple BatchFiller algorithm being "filler" and "owner" of batch data at the same time. The "ownership" can be out-sourced to a dedicated data manager. I think BatchDataStorage or BatchDataStorageFactory are natural choices. I have to eliminate ownership from BatchFillerTemplate (which comes from BatchHolder or something). Yes, this will be a huge "let's remove this and that template" campaign :)

twongjirad commented 6 years ago

for more thoughts on the problem of bounding box definitions in general, additional discussion here: https://github.com/DeepLearnPhysics/larcv2/pull/22