Octolapse - Possible to pause after Snapshot?

Hi, loving Octolapse thank you FormerLurker!

I have a DSLR set up saving images to the SD card. I’m in a situation with low light, so the camera needs to take a slightly longer exposure than normal. Problem is, the camera shutter opens, then the print resumes, and finally the shutter closes resulting in a blurry photo. From what I can tell, Snapshot Delay affects the time before the camera snaps. I’m looking for a way to keep the print paused for a second AFTER the snap. Anyone know which direction I should look to solve this? Thanks a lot!

@FormerLurker
I am having the same issue Brad. Can you please advice?

I love doing a long exposure on my HDSLR because you can get everything in focus if you can keep your camera's shutter open for an extended amount of time. It helps take the guess work out if you are getting your focus right as the print slowly gets closer and closer to the camera lens.

Not sure if/how that can be accomplished, but I would recommend heading over to the gphoto2 site and github page. There are experts over there who know way more about it than I do :slight_smile:

Your issue is actually probably related more to gphoto2 than Octolapse. Without knowing more about your setup (what scripts are you using to control your camera, and what camera are you using), I can't give you much advice. Also, i only have one DSLR (Nikon D5200), and all cameras behave slightly differently.

In general, however, you should be using manual settings (focus, exposure, white balance, etc) for your DSLR if you want good quality. Also, make sure image stabilization is turned off! That setting causes so much confusion in addition to jittery/jumpy images.

Thanks for another detailed response @FormerLurker
Yeah, all my settings are good.
My entry point into this world comes from a videography / photography background.

I'm shooting with a Canon 5D and I watched your tutorials on YouTube. They are great.

The problem was really summed up by @Jamz question. The HDLSR seems to only fire a shot off right before the print moves back in place. Even though there is plenty of time for camera to take a longer exposure of the picture if you change the Snapshot Delay. The camera just doesn't take a picture until that last moment before print head moves back into place.

Also, is there a way to tell Octolapse to take pictures of the clean print bed before it starts to print? The camera seems to take 1st image after 1st layer has been printed.

Also, can I get Octolapse to take multiple images of the printing of the 1st layer, where the print head moves out of the way in the middle of printing that first base layer? It would be nice to have a few frames in the timelapse of getting that first base layer printed. I find the time-lapses jump a little too quick into the rest of the build and showing that base layer being created is essential to making that timelapse really stand out.

Also, can I set Octolapse to stay at the same position once model has been finished? Would that be something that needs to be adjusted in the coding? I like to fire off of a ton of images at the end and not just freeze on the last frame. I like to see all the little filament particles moving around.

Thanks in advance !!!

The camera just doesn't take a picture until that last moment before print head moves back into place.

It seems like the 5D is signaling to gphoto2 that is is finished taking a snapshot before it is actually done. I would recommend adding a delay within the .sh file itself in that case. Should be fairly simple to do.

Also, is there a way to tell Octolapse to take pictures of the clean print bed before it starts to print? The camera seems to take 1st image after 1st layer has been printed.

Yes, use the smart gcode trigger and add the appropriate snapshot commands to your start and layer change scripts. This obviously isn't entirely ideal, since the 'smart layer' trigger can make much better decisions about when to take snapshots than a simple layer change script, but I plan to eventually allow the gcode trigger and layer trigger to both work together.

Also, can I get Octolapse to take multiple images of the printing of the 1st layer, where the print head moves out of the way in the middle of printing that first base layer?

You could use the timer trigger instead, but that would apply to the entire print, not just the first layer. You could use the gcode trigger, and just put some snapshot commands in there randomly throughout the layer. I have been thinking about adding a 'smart filament trigger' that triggers every time a predefined amount of filament is used. This would have a similar effect as the timer trigger, but the entire thing could be pre-calculated without a full blown timing simulator.

Also, can I set Octolapse to stay at the same position once model has been finished? Would that be something that needs to be adjusted in the coding?

Not sure what you mean here exactly. In general you can control the end gcode of your print to do whatever you want.

Thanks for the response.

I love the "smart filament trigger" option !! Think it would be ideal for great time lapses. It may not produce the best prints but I think the time lapses would be a lot more dynamic.

I would, just like the other triggers, allow options for 'exact triggering' and 'print quality minded' that would postpone a snapshot until, say, infill is printing. Combined with the snapshot plan preview, I think you could get good quality from both. Every good thing requires tradeoffs :slight_smile:

I know you have a long list of things to do, but a video tutorial on triggers would be a nice companion with the other video tutorials you have on your YouTube channel. :smile: Thanks for all your insight and help!!!

I wish my video skills were good. I enjoy making videos, and most of the videos on Octolapse are either too old, or are WAY off base. Unfortunately, at the moment, I spend most of my time responding to issues and feature requests.

Understandable, okay last question for now.

Can I use a Snapshot command to take photo and also tell the print head to move out of the way at the same time? I don't mind sitting by the print and just telling Octolapse that I want to take a picture and a given instance for the first couple of layers. (i would want the print head out of way) I would probably want to do the same thing for the last couple layers as well. That would help the timelapse have a nice ease in and ease out. Does that question make sense?

Can I use a Snapshot command to take photo and also tell the print head to move out of the way at the same time?

The triggers just tell Octolapse when to take a picture. The 'Where' comes from the stabilizaiton profile.

I don't mind sitting by the print and just telling Octolapse that I want to take a picture and a given instance for the first couple of layers.

For the 'smart' trigger, this will not work. I"m actually not sure what would happen if you sent a @Octolapse take-snapshot command via the terminal when using the classic gcode trigger. It may well work, but not sure.

That command worked !!!

So what do I need to do for Octolapse to still take a photo after every layer as well. Within the classic g-code trigger ? What kind of coding do I need to do?

Add that command to your layer change script in your slicer. That should do the trick :slight_smile:

Forgive the NOOB question, but what would that command look like?
I've attached my Snapshot plan preview.

this is the default...

; LAYER:[layer_num]

@FormerLurker
I really don't know what command to put in to tell it to return to snapshot position after each completed layer picture when in Classic Mode.

Any kind of sample code would be appreciated.

You just put the following in your layer change script, or anywhere else you want a snapshot to be taken:

@Octolapse take-snapshot

You don't need to send any gcode to tell it where to go, it will use the current 'stabilization profile' to do that.

So something like this?

; LAYER:[layer_num]
@Octolapse take-snapshot

Is that how it should look?

Yeah, looks good.