예제 #1
0
 def _update_image_properties(self):
     """
     Actualiza los campos que muestran las propiedades de la imagen
     """
     index = self._images_list.currentRow() #obtener el índice de la imagen seleccionada
     if 0 <= index < self._images_list.count():
         id = self._images_ids[index] #obtener el id de la imagen según el índice
         img = Application.get_images()[id]
         self._images_list.currentItem().setText(img.DisplayName)
         index = self._images_list.currentRow() #obtener el índice de la imagen seleccionada
         id = self._images_ids[index] #obtener el id de la imagen según el índice
         img = Application.get_images()[id] #imagen para obtener las propiedades
         #actualizar los atributos de la imagen que se muestran
         self._properties_tree.blockSignals(True)
         self._id_prop.setText(1,str(img.Id))
         self._name_prop.setText(1,str(img.DisplayName))
         self._format_prop.setText(1,str(img.OriginalFormat))
         self._file_prop.setText(1,str(img.OriginalFile))
         self._dim_prop.setText(1,str(img.Dimension))
         self._pt_prop.setText(1,str(img.PixelType))
         self._size_prop.setText(1,str(img.Size))
         self._sizeX_prop.setText(1,str(img.Size[0]))
         self._sizeY_prop.setText(1,str(img.Size[1]))
         self._sizeZ_prop.setText(1,str(img.Size[2]))
         self._spc_prop.setText(1,str(img.Spacing))
         self._spcX_prop.setText(1,str(img.Spacing[0]))
         self._spcY_prop.setText(1,str(img.Spacing[1]))
         self._spcZ_prop.setText(1,str(img.Spacing[2]))
         self._properties_tree.blockSignals(False)
예제 #2
0
 def _update_image(self,item,col):
     """
     Actualiza las propiedades de la imagen luego de haberlas editado
     @param item: item que se editó
     @param col: columna del item que se editó
     @return: None
     """
     #cambiaron la etiqueta de la propiedad no el valor
     if col == 0:
         self._update_editable_labels() #restaurar las etiquetas
         return
     id = self.get_selected_image_id() #obtener el id de la imagen seleccionada
     if id is None: #no se ha seleccionado ninguna imagen
         return
     img = Application.get_images()[id]
     if item.text(0) == "Nombre":
         #actualizamos el nombre
         img.DisplayName = self._name_prop.text(1)
     elif item.text(0) in ["X","Y","Z"]:
         #actualizamos el espaciado
         spc = [self._spcX_prop.text(1),
                self._spcY_prop.text(1),
                self._spcZ_prop.text(1)]
         try:
             spc = map(float,spc)
             #verificar que no haya un espaciado mayor que 100 o menor o igual que 0
             if any(map(lambda x: 100.0<=x or x<=0.0,spc)):
                 raise ValueError()
             img.Spacing = spc
         except ValueError:
             pass
     self._update_image_properties()