prevent ros.BagSelection accessing bag.file when being loaded
3 views (last 30 days)
Show older comments
Hi,
I use a struct containing multiple ros.BagSelection-Objects. The ros.BagSelection-Objects are created by:
myBag = rosbag('myBagFileName.bag');
myStruct.bag(ii) = select(bag,'Topic',myTopic);
The FilePath inside the ros.BagSelection-Objects refer to huge bag-files. This struct is saved to a mat-file. When loading the mat-file it may take incredible long time, until the struct is loaded.
Does the load() or loadobj() method parses all huge bag-files when loading only the BagSelection-Objects?
If 'yes', how to prevent the load() method parsing the huge bag-files?
Thanks!
0 Comments
Answers (1)
Prabeen Sahu
on 19 Dec 2023
When a ros.BagSelection object is created, it opens, parses, and indexes the bag file. Saving to a mat file stores metadata and indexing, excluding actual messages.
Loading the mat file opens the bag file without reindexing, facilitating faster loading. However, to read messages, the original bag file must be opened, potentially causing delays if it's large.
See Also
Categories
Find more on Data Type Conversion in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!