.:pbp viewer:home: Difference between revisions

From ADPAA
Jump to navigation Jump to search
No edit summary
Line 20: Line 20:


Once the program is open, you'll see multiple sections to the gui,
Once the program is open, you'll see multiple sections to the gui,


=== '''Bottom Half of GUI''' ===
=== '''Bottom Half of GUI''' ===

Revision as of 16:00, 10 September 2024

pbp_viewer Graphical Plotting Program

Purpose of Program

This program was developed to view and analyze individual particle images produced by airborne probes. This program can theoretically work for any group of particle images as long as the particle file is in a format readable by the program.


Setup

This program can be accessed via ADPAA, or a copy of the program with premade data lives in this google drive folder. The google drive folder may not be consistently updated, so if possible, it's best to access the program through ADPAA so you have access to the most recent version.

To download ADPAA, go to https://sourceforge.net/projects/adpaa/files/. Instructions to set it up are included in the installation (I think need to check with Dave).

Another important program for the PBP_Viewer is the System for Optical Array Probe Data Analysis (SODA). SODA produces the particle-by-particle files that the PBP_Viewer uses. Expansions to other particle-by-particle file types has not been developed yet. To download SODA, go to https://github.com/abansemer/soda2. When creating the particle-by-particle file using SODA, make sure to select both the PBP(netCDF) box and the Images(netCDF) box. The "PBP" box creates all the particle attributes, and the "Images" box creates the information needed for individual image files.


Getting Started

The program can be started multiple ways,

  • From an IDE such Spyder, use the command runfile() in the console panel. E.g. runfile('PBP_Viewer.py', '06222000_232921_HVPS1.pbp.nc')
  • The program can also be run from the command line using python. E.g ./PBP_Viewer.py 06222000_232921_HVPS1.pbp.nc or python3 PBP_Viewer.py 06222000_232921_HVPS1.pbp.nc


Once the program is open, you'll see multiple sections to the gui,

Bottom Half of GUI

  • To scroll through images, use the ">>" to move to the next particle and the "<<" button to go to the previous particle.
  • The big box on the left is where the particle images are displayed.
  • The three dropdown boxes on the right show the particle attributes. To change which attributes are selected, click on the arrow in a dropdown box and scroll until you see the attribute you want displayed and click on it.


Filter Box

The filter options are in the box in the top left of the window. The first/top dropdown box is to select an attribute to apply a filter to. Once that's selected, the boxes below "Minimum" and "Maximum" are for the lower and upper values for the filter range. If nothing is put in the "Minimum" box, it will default to 0, and if nothing is put in the "Maximum" box, it will default to 99999.

Click "Apply Filters" to apply the filters. The program will automatically find the closest particle matching the filter specifications.

While the gui remains open, the filters are saved. So, if you apply a time filter of 87510 - 87530, and then apply a diam filter of 2000 - 20000, the program will remember the time filter and make sure to only show particles that meet both the time and diam filter specifications.


Particle Sorter Box

to get started, you should see a particle images in the bottom left box. to scroll through images, use the << and >>. to exit the program you can click the exit button or the window "X".

To the right of the particle image are three particle attributes. The program initially starts with time, diam, and allin. To change the attributes, click on the "\/" down arrow and you can scroll through the options to pick which attribute you want to see.

The top left box contains filters. The top dropdown menu allows you to select which particle attribute you want to apply a filter to. The boxes below minimum and maximum are for putting in the minimum value and maximum value for the filter range. eg for time you could do 87510 and 87530 where time is in seconds from midnight and runs over 24 hours/86400 seconds. for something like rejectionflag, you can apply a filter of 0, or 4, etc, or a range from 0 to 4, but you can't do something like 0, 4, and 12, it would have to be 0 through 12. Then click the search button

   an issue you might run into is that sometimes it's possible to go outside the filter boundaries if the time filter is applied. If this happens, you'll notice a repeating message in the python console that says at max or min boundary. Simply click the arrows in the reverse direction and you will get back to within the filter boundaries. 


The top right box has the particle sorter. I RECOMMEND NOT OPENING IT AT THIS TIME. It has a bug that can mess with the data a bit, so that needs to be fixed before it gets used. The particle sorter allows you to manually create attributes to add to the particle. Once the categories are created, you can load them in and all their data. This makes it possible to flag particles as splatters, or if an image clearly contains two partices, then a flag can be added for that as well. You have to be consistent with category names, so make sure to load them in once they've already been created. This also only supports up to 5 additional categories at this time, make sure not to make more, otherwise the 6th and beyond categories will likely be left out. A 0 means uncategorized, 1 means positively categorized or the particle is true for the category, and 2 means the particle is false for the category and is added as an option if you want to make a distinction between uncategorized and false for the category.


Frequently Asked Questions (FAQ)

Questions: Q: How do you ensure that SODA2 create the file used by pbp_viewer?

Answer: Click the netcdf, then the netcdf image option