Langage

  Introduction | Installation | Généralités | Interface | Outils | Langage | Développement 

Fonctions utilitaires - @IsaacDATA - @IsaacECOL - @IsaacHISTO - @IsaacImage - @IsaacIMG - @IsaacLPIX - @IsaacROI

@IsaacIMG : méthodes publiques

 

function [obj,varargout] = IsaacIMG(varargin)

% @IsaacIMG : constructeur

%

% (Appeler en TRY-CATCH pour sortie en erreur d'execution)

%

%    obj = IsaacIMG(img,imgname,objROI,objECOL)

%     => objet @IsaacIMG initialisé

%

%    obj = IsaacIMG(img,imgname,nbbused,objROI,objECOL)

%     => objet @IsaacIMG initialisé avec précision du nb de bits utilisés

%

%    [obj,ok] = IsaacIMG(filename)

%     => objet @IsaacIMG lu dans un fichier

%

%    obj = IsaacIMG(dirname)

%     => objet @IsaacIMG créé par concaténation des images d'un dossier

%           avec conversion des images lues en fonction des caractéristiques de la 1ère image 

%

%    - img        : matrice image

%    - imgname    : nom de l'image (si '' alors nom = 'SansNom')

%    - nbbused    : nombre de bits utilisés (1 à 16/32/64)

%                   dans les limites de sa classe de bits (1/8/16/32/64)

%    - objROI     : objet @IsaacROI  ou [] si non définie

%    - objECOL    : objet @IsaacECOL ou [] si non défini

%    - ok         : true si identique au contenu du fichier (sans conversion)

%    - filename   : nom du fichier dans répertoire courant ou nom complet

%    - dirname    : nom du dossier dans répertoire courant ou nom complet

 

 

function obj = IsaacIMG_changebits(obj,nbb)

% @IsaacIMG : change le nb de bits d'une image

%             ROI ajustée idem, espace colorimétrique éventuellement supprimé

%

%    - nbb : nombre de bits de l'image (1 à 16/32/64)

%            => modifie éventuellement la classe de l'image (1/8/16/32/64)

 

 

function obj = IsaacIMG_changedyn(obj,newmin,newmax)

% @IsaacIMG : ajustement dynamique vectoriel de l'image dans les limites du nb de bits

%             ROI et espace colorimétrique inchangés

%

% (Appeler en TRY-CATCH pour sortie en erreur d'execution)

%

%    - newmin,newmax : valeurs min et max dans [0 1] relatif au nombre de bits

 

 

function obj = IsaacIMG_changegamma(obj,gamma)

% @IsaacIMG : correction Gamma vectorielle

%             ROI et espace colorimétrique inchangés

%

% (Appeler en TRY-CATCH pour sortie en erreur d'execution)

%

%    - gamma : valeur de gamma

 

 

function obj = IsaacIMG_colorconv(obj,objECOL)

% @IsaacIMG : conversion de l'image dans un nouvel espace colorimétrique

%             ROI éventuellemnt modifiée, espace colorimétrique modifié

%

% (Appeler en TRY-CATCH pour sortie en erreur d'execution)

%

%    - objECOL : objet @IsaacECOL

 

 

function val = IsaacIMG_compare(obj1,obj2,propname)

% @IsaacIMG : retourne true si propname identique pour obj1 et obj2, false sinon

%

%  propname            comparaison

%  --------            -----------

%   'Bits'             classe de bits et nombre de bits

%   'ColorSpace'       espace colorimétrique

%   'DimXY'            dimensions (x,y)

%   'DimXYZ'           dimensions (x,y,z)

%   'DimZ'             nombre de plans

%   'Img'              matrice image 

%   'ImgName'          nom de l'image

%   'Roi'              région d'intérêt       

%   'RoiSpa'           région d'intérêt spatiale

%   'RoiVal'           région d'intérêt valeurs

%

%    - obj1 : objet @IsaacIMG

%    - obj2 : objet @IsaacIMG

 

 

function obj = IsaacIMG_concat(obj,obj2)

% @IsaacIMG : concatène obj2 avec obj en suivant les caractéristiques de obj

%             les ROI sont concaténées, les espaces colorimétriques sont supprimés

%

% (Appeler en TRY-CATCH pour sortie en erreur d'execution)

%

%    - obj2 : objet @IsaacIMG

 

 

function obj = IsaacIMG_crop(obj,rect)

% @IsaacIMG : découpe l'image selon rect

%             ROI écoupée idem, espace colorimétrique inchangé

%

% (Appeler en TRY-CATCH pour sortie en erreur d'execution)

%

%    - rect : rectangle (coordonnées MATLAB)

 

 

function obj = IsaacIMG_fillmask(obj,obj2,mask)

% @IsaacIMG : remplit obj avec avec obj2 selon mask

%             ROI et espace colorimétrique inchangés

%

%    - obj2 : objet @IsaacIMG

%    - mask : masque binaire

 

 

function obj = IsaacIMG_flip(obj,val)

% @IsaacIMG : mirroir horizontal ou vertical

%             ROI retournée idem, espace colorimétrique inchangé

%

%    - val : orientation du miroir = 'h'/'v' 

 

 

function val = IsaacIMG_get(obj,propname)

% @IsaacIMG : lecture d'une propriété

%

% propname             val

% --------             ---

% 'BitClass'           classe de bits (1/8/16/32/64)

% 'ColorSpace'         objet @IsaacECOL

% 'ColorSpaceName'     = IsaacECOL_get(@IsaacECOL,'Name')

% 'DimX'               dimension horizontale de la matrice image

% 'DimY'               dimension verticale de la matrice image

% 'DimZ'               nombre de plans de la matrice image

% 'Img'                matrice image

% 'ImgName'            nom de l'image

% 'IsColorSpace'       espace couleur actif (true|false)

% 'IsRoi'              ROI spatiale ou valeurs active (true|false)

% 'IsRoiSpa'           ROI spatiale active (true|false)

% 'IsRoiVal'           ROI valeurs active (true|false)

% 'Min'                min image (matrice 1xdimz)

% 'Max'                max image (matrice 1xdimz)

% 'NbBits'             nombre de bits par pixel et par plan (1 à 16/32/64) <= classe de bits

% 'Roi'                objet @IsaacROI

% 'RoiEff'             effectif (masque ROI spatiale & masque ROI valeurs)      

% 'RoiMask'            masque ROI spatiale & masque ROI valeurs

% 'RoiSpaEff'          effectif masque ROI spatiale

% 'RoiSpaMask'         masque ROI spatiale

% 'RoiValEff'          effectif masque ROI valeurs  

% 'RoiValMask'         masque ROI valeurs

% 'ValMax'             valeur maximum de l'image = 2^nbb -1 si bitclass <32 ou 1 sinon

 

 

function mat = IsaacIMG_img2mat(obj,varargin)

% @IsaacIMG : retourne la matrice image de obj

%

%    mat = IsaacIMG_img2mat(obj)

%     => matrice image nbbits inchangés

%

%    mat = IsaacIMG_img2mat(obj,'BitClass')

%     => matrice image convertie en type Matlab

%        (1/2...8/9...16/32/64 -> logical/uint8/uint16/single/double)

%

%    mat = IsaacIMG_img2mat(obj, <type>) 

%     => matrice image convertie en type = 'logical'|'uint8'|'uint16'|'single'|'double'

 

 

function ok = IsaacIMG_isequal(obj1,obj2)

% @IsaacIMG : retourne true si obj1 et obj2 identiques, false sinon

%

%    - obj1 : objet @IsaacIMG

%    - obj2 : objet @IsaacIMG

 

 

function obj = IsaacIMG_mat2img(obj,mat,varargin)

% @IsaacIMG : remplace la matrice image de obj 

%

%    obj = IsaacIMG_mat2img(obj,mat) 

%     => conversion si nécessaire de mat pour conservation du nbbits de obj

%

%    obj = IsaacIMG_mat2img(obj,mat,'ChangeBits')

%     => nbbits de obj forcé dans le type Matlab de mat

%        (logical/uint8/uint16/single/double -> 1/8/16/32/64)

 

 

function obj = IsaacIMG_reorder(obj,plans)

% @IsaacIMG : réordonne les plans dans l'ordre de la matrice plans.

%             ROI réordonnée idem, espace colorimétrique supprimé

%

%    - plans  : matrice(1,dimz) des numéros de plans => impose l'ordre des plans

 

 

function obj = IsaacIMG_resize(obj,val)

% @IsaacIMG : modifie la taille de l'image

%             ROI modifiée idem, espace colorimétrique inchangé

%

% (Appeler en TRY-CATCH pour sortie en erreur d'execution)

%

%    - val : facteur dont la taille sera augmentée (>1) ou reduite (0<val<1) 

 

 

function obj = IsaacIMG_rotate(obj,val)

% @IsaacIMG : rotation de l'image dans le sens inverse des aiguilles d'une montre

%             la ROI est tournée idem, l'espace colorimétrique reste inchangé

%

%    - val : angle de rotation = 90/180/270 

 

 

function [ok,obj] = IsaacIMG_saveas(obj,filename)

% @IsaacIMG : écriture d'un objet @IsaacIMG dans un fichier avec maj du nom de l'image

%

% (Appeler en TRY-CATCH pour sortie en erreur d'execution)

%

%    - filename   : nom du fichier dans répertoire courant ou nom complet

%    - ok         : true si sauvegarde à l'identique (sans conversion), false sinon

%

% Format de fichier fixé en préférences :

%    - '.bmp' : format BITMAP

%               8 bits, pas de multicomposantes, pas de ROI, pas d'espace colorimétrique

%    - '.tif' : format TIFF non compressé

%               8/16 bits, multicomposantes, pas de ROI, pas d'espace colorimétrique

%    - '.isa' : format ISAAC

%               1 à 16/32/64 bits, multicomposantes, ROI, espace colorimétrique

 

 

function obj = IsaacIMG_set(obj,varargin)

% @IsaacIMG : écriture d'une ou plusieurs propriétés

%             avertissement au cas où ROI ajustée ou espace colorimétrique supprimé

%

% (Appeler en TRY-CATCH pour sortie en erreur d'execution)

%

%    obj = IsaacIMG_set(obj,propname1,val1,...,propnameN,valN)

%

% propname        val

% --------        ---

% 'ColorSpace'    objet @IsaacECOL ou []

% 'Img'           matrice image

% 'ImgName'       nom de l'image (si '' alors nom = 'SansNom')

% 'NbBitsUsed'    nombre de bits utilisés (dans les limites de bitclass si cela est possible)

% 'Roi'           objet @IsaacROI (optimisé) ou []                     

 

 

function obj = IsaacIMG_subplans(obj,plans)

% @IsaacIMG : supprime de l'image les plans désignés par la matrice plans

%             la ROI est réorganisée idem, l'espace colorimétrique est supprimé

%

%     - plans  : matrice(1,n) des numéros de plans à supprimer, 1 <= n < dimz

 

Introduction | Installation | Généralités | Interface | Outils | Langage | Développement

OpenIsaac © 2007-2018 A. Clément - Université d'Angers