Wand crea fotogramas vacíos y velocidad de fotogramas irregular

Tengo un fragmento a continuación que crea un gif. Este fragmento se deriva de las sugerenciasaqu. El fragmento crea un marco vacío y los marcos tienen un retraso irregular entre ellos. Observe el retraso entre la nada y el primer cuadro, y luego aparece el segundo cuadro rápidamente. ¿Por qué sucede esto?

Tuve que crear una imagen de tamaño particular de antemano porque, la varita no cambia el tamaño del lienzo de acuerdo con la secuencia de tamaño máximo. Tengo que encontrar una manera de resolver eso también.

def render(self):

        # map anim gif
        wand = Image2(width=205,height=223)

        #create frames
        for each_frame in self._tree_dot_frames:
            img = Image2(blob=each_frame)
            print('Image width: {} height: {}'.format(img.width,img.height))
            wand.sequence.append(img)

        #set frame rate
        for cursor in range(len(self._tree_dot_frames)):
            with wand.sequence[cursor] as frame:
                print('sequence width: {} height: {}'.format(frame.width,frame.height))
                frame.delay = 100

        #wand.merge_layers('merge')
        wand.format = 'gif'
        wand.save(filename='animated.gif')
        print('No of frames: {} gif width: {} height: {}'.format(len(wand.sequence),wand.width,wand.height))
        self._tree_dot_blob = wand.make_blob()

        return self._tree_dot_blob

Salida
Ancho de imagen: 175 altura: 136
Ancho de imagen: 205 altura: 223
ancho de secuencia: 205 altura: 223
ancho de secuencia: 175 altura: 136
No de cuadros: 3 ancho de gif: 205 altura: 223

P: Tengo otro problema con un fragmento similaraqu, no debe confundirse con este problema.

Actualización 1:
Below es el resultado si creo un objeto de varita sin un tamaño predefinido. La animación parece estar bien, pero el lienzo es de la primera secuencia (que es más pequeña), por lo que se recorta el gif final, que ahora muestra la segunda secuencia por completo.

    #wand = Image2(width=205,height=223) 
    wand = Image2()

Actualización 2:
Abajo está la salida si con el cambio anterior, también alimento la secuencia en reversa para que ahora la varita tome el primer tamaño de secuencia. Ahora el tamaño final del gif está bien, pero como puede ver, el marco más grande siempre permanece en segundo plano, que ahora es el nuevo problema.

    #create frames
    for each_frame in reversed(self._tree_dot_frames):
        img = Image2(blob=each_frame)
        print('Image width: {} height: {}'.format(img.width,img.height))
        wand.sequence.append(img)

Ayuda amablemente ya que me estoy atascando si voy en cualquiera de las direcciones anteriores.

Solución deseada sería uno que tomara el tamaño máximo de los cuadros alimentados, y acomode todos los cuadros de ese tamaño / algo como debería hacer a continuación (he mostrado solo los datos de los primeros 2 cuadros en el problema anterior)

Respuestas a la pregunta(1)

Su respuesta a la pregunta