I apologize, as I went back to gather my code I realized I made a simple mistake. I am using the OAK-1 MAX, but the camera does not support 1080p resolution. When I try to set the resolution to 1080p, it says that it picks 4K by default instead. Now it makes sense why I need to still scale the ISP in this case.
I have another question about this though. When I try to set the resolution to 1080p on the OAK-1 MAX, it says that it is not a supported resolution and instead sets it to 4K. However, when I print out the ISP size it still lists it as 1920x1080 even though this isn't the resolution it is actually set to (if I set the resolution to 4K, the ISP would be 4K size). So even though the resolution is updated to support the camera, does the ISP size not also get updated accordingly (at least when I ask it the size)? It must be updating this in the background (this is what my experience suggests), but not when I call cam_rgb.getIspSize(). Is there a way to see what the actual ISP size and resolution for the camera are independent of what I tried to set them to?
Update: with some more thought, I realized that it is because I am referencing the resolution and ISP size from my ColorCamera node (cam_rgb). Once I send this in the pipeline to the device, this must be when the resolution and ISP size are updated and they are not updated in the ColorCamera node. Is there a way for me to access these values from the device?