EranOfek / AstroPack

Astronomy & Astrophysics Software Pacakge
Other
19 stars 4 forks source link

pipeline.DemonLAST object does not allow to change NewPath once BasePath is changed #502

Closed agioffe closed 1 month ago

agioffe commented 1 month ago

@EranOfek , @YarinMS :

Here's what I found:

ocs@last05w:~$ matlab -nodisplay

AstroPack startup addpath count: 35 AstroPack startup done: /home/ocs/matlab/AstroPack/matlab/startup/startup

D = pipeline.DemonLAST; D.BasePath ='/last05w/data2/archive/LAST.01.05.04'

D =

DemonLAST with properties:

         CI: [1x1 CalibImages]
ProjectName: 'LAST'
       Node: 1
    DataDir: 1
  CamNumber: []
   HostName: []
   BasePath: '/last05w/data2/archive/LAST.01.05.04'
    NewPath: '/last05w/data2/archive/LAST.01.05.04/new'
  CalibPath: '/last05w/data2/archive/LAST.01.05.04/calib'
 FailedPath: '/last05w/data2/archive/LAST.01.05.04/failed'
    LogPath: '/last05w/data2/archive/LAST.01.05.04/log'
    RefPath: '/last05w/data/references'
     ObsCoo: [35 30 415]
   UserData: []

D.NewPath = '/last05w/data2/archive/LAST.01.05.04/new1'

D =

DemonLAST with properties:

         CI: [1x1 CalibImages]
ProjectName: 'LAST'
       Node: 1
    DataDir: 1
  CamNumber: []
   HostName: []
   BasePath: '/last05w/data2/archive/LAST.01.05.04'
    NewPath: '/last05w/data2/archive/LAST.01.05.04/new'
  CalibPath: '/last05w/data2/archive/LAST.01.05.04/calib'
 FailedPath: '/last05w/data2/archive/LAST.01.05.04/failed'
    LogPath: '/last05w/data2/archive/LAST.01.05.04/log'
    RefPath: '/last05w/data/references'
     ObsCoo: [35 30 415]
   UserData: []

NB: If I don't change the BasePath, I am able to change the NewPath successfully.

EranOfek commented 1 month ago

Can you explain exactly how you tried to modify the dir name? Did you use: D.NewPath = 'new1' or D.NewPath = '//new1'

Note that the first option will not work. You must provide the full path.

On Wed, Oct 9, 2024 at 6:28 PM Alexander Krassilchtchikov < @.***> wrote:

@EranOfek https://github.com/EranOfek , @YarinMS https://github.com/YarinMS :

Here's what I found:

@.***:~$ matlab -nodisplay

AstroPack startup addpath count: 35 AstroPack startup done: /home/ocs/matlab/AstroPack/matlab/startup/startup

D = pipeline.DemonLAST; D.BasePath ='/last05w/data2/archive/LAST.01.05.04'

D =

DemonLAST with properties:

     CI: [1x1 CalibImages]

ProjectName: 'LAST' Node: 1 DataDir: 1 CamNumber: [] HostName: [] BasePath: '/last05w/data2/archive/LAST.01.05.04' NewPath: '/last05w/data2/archive/LAST.01.05.04/new' CalibPath: '/last05w/data2/archive/LAST.01.05.04/calib' FailedPath: '/last05w/data2/archive/LAST.01.05.04/failed' LogPath: '/last05w/data2/archive/LAST.01.05.04/log' RefPath: '/last05w/data/references' ObsCoo: [35 30 415] UserData: []

D.NewPath = '/last05w/data2/archive/LAST.01.05.04/new1'

D =

DemonLAST with properties:

     CI: [1x1 CalibImages]

ProjectName: 'LAST' Node: 1 DataDir: 1 CamNumber: [] HostName: [] BasePath: '/last05w/data2/archive/LAST.01.05.04' NewPath: '/last05w/data2/archive/LAST.01.05.04/new' CalibPath: '/last05w/data2/archive/LAST.01.05.04/calib' FailedPath: '/last05w/data2/archive/LAST.01.05.04/failed' LogPath: '/last05w/data2/archive/LAST.01.05.04/log' RefPath: '/last05w/data/references' ObsCoo: [35 30 415] UserData: []

NB: If I don't change the BasePath, I am able to change the NewPath successfully.

— Reply to this email directly, view it on GitHub https://github.com/EranOfek/AstroPack/issues/502, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJUQ4OHNYWMRSYLW34AHYLZ2VDRRAVCNFSM6AAAAABPUZ3WFSVHI2DSMVQWIX3LMV43ASLTON2WKOZSGU3TMMRWGE2DKNY . You are receiving this because you were mentioned.Message ID: @.***>

agioffe commented 1 month ago

You can see above that I used D.NewPath = '/last05w/data2/archive/LAST.01.05.04/new1' i.e., the full path.

agioffe commented 1 month ago

This way it does not update as well:

D.setPath('/Data1/AstroPackData/pipeline/LAST/','NewPath','/Data1/AstroPackData/pipeline/LAST/2023/06/16/raw/')

ans =

DemonLAST with properties:

         CI: [1×1 CalibImages]
ProjectName: 'LAST'
       Node: 1
    DataDir: 1
  CamNumber: []
   HostName: []
   BasePath: '/Data1/AstroPackData/pipeline/LAST/'
    NewPath: '/Data1/AstroPackData/pipeline/LAST/new'
  CalibPath: '/Data1/AstroPackData/pipeline/LAST/calib'
 FailedPath: '/Data1/AstroPackData/pipeline/LAST/failed'
    LogPath: '/Data1/AstroPackData/pipeline/LAST/log'
    RefPath: '/WRX80/data/references'
     ObsCoo: [35 30 415]
   UserData: []

I suppose the issue is in the hidden property DefNewPath = 'new';

EranOfek commented 1 month ago

I can't reproduce this problem - here is what i do and get: D=pipeline.DemonLAST

D =

DemonLAST with properties:

         CI: [1x1 CalibImages]
ProjectName: 'LAST'
       Node: 1
    DataDir: 1
  CamNumber: []
   HostName: []
   BasePath: '/last01e/data1/archive/LAST.01.01.01'
    NewPath: '/last01e/data1/archive/LAST.01.01.01/new'
  CalibPath: '/last01e/data1/archive/LAST.01.01.01/calib'
 FailedPath: '/last01e/data1/archive/LAST.01.01.01/failed'
    LogPath: '/last01e/data1/archive/LAST.01.01.01/log'
    RefPath: '/euler/data/references'
     ObsCoo: [35 30 415]
   UserData: []

D.NewPath='/last01e/data1/archive/LAST.01.01.01/new1'; D

D =

DemonLAST with properties:

         CI: [1x1 CalibImages]
ProjectName: 'LAST'
       Node: 1
    DataDir: 1
  CamNumber: []
   HostName: []
   BasePath: '/last01e/data1/archive/LAST.01.01.01'
    NewPath: '/last01e/data1/archive/LAST.01.01.01/new1'
  CalibPath: '/last01e/data1/archive/LAST.01.01.01/calib'
 FailedPath: '/last01e/data1/archive/LAST.01.01.01/failed'
    LogPath: '/last01e/data1/archive/LAST.01.01.01/log'
    RefPath: '/euler/data/references'
     ObsCoo: [35 30 415]
   UserData: []

On Thu, Oct 10, 2024 at 10:08 AM Alexander Krassilchtchikov < @.***> wrote:

This way it does not update as well:

D.setPath('/Data1/AstroPackData/pipeline/LAST/','NewPath','/Data1/AstroPackData/pipeline/LAST/2023/06/16/raw/')

ans =

DemonLAST with properties:

     CI: [1×1 CalibImages]

ProjectName: 'LAST' Node: 1 DataDir: 1 CamNumber: [] HostName: [] BasePath: '/Data1/AstroPackData/pipeline/LAST/' NewPath: '/Data1/AstroPackData/pipeline/LAST/new' CalibPath: '/Data1/AstroPackData/pipeline/LAST/calib' FailedPath: '/Data1/AstroPackData/pipeline/LAST/failed' LogPath: '/Data1/AstroPackData/pipeline/LAST/log' RefPath: '/WRX80/data/references' ObsCoo: [35 30 415] UserData: []

I suppose the issue is in the hidden property DefNewPath = 'new';

— Reply to this email directly, view it on GitHub https://github.com/EranOfek/AstroPack/issues/502#issuecomment-2404229543, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJUQ4JQAPEBGN7NK3OAGR3Z2YRXPAVCNFSM6AAAAABPUZ3WFSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBUGIZDSNJUGM . You are receiving this because you were mentioned.Message ID: @.***>

agioffe commented 1 month ago

This is because you do not change the BasePath after you create the object. Once you do D.BasePath = '\somepath'; you won't be able to change the NewPath any more.

agioffe commented 1 month ago

The conclusion is that one must either use BasePath (and then all the names are standard), or not touch it at all (if one of the subdir names need to be non-standard). One way to deal with it is to set D.BasePath = []; before introducing changes to one of the subdir names.